Undervolting Your GPU for a 24/7 Local Agent (2026)
If a GPU runs an agent around the clock, its power limit is a monthly bill, not a setting. The good news is that LLM token generation is memory-bandwidth bound, so the core clock can drop a long way before throughput moves. The bad news is that there is a cliff, it is sharp, and it sits closer to the useful range than most guides admit. This page works from one published RTX 3090 power sweep with a full method, converts it to tokens per second per watt — which the original did not — and gives you the commands. It also explains why almost every article titled 'undervolt your GPU' is describing something else.
Bottom Line
- Cutting an RTX 3090 from 350W to 250W cost about 1% of throughput in one measured sweep: 32.0 → 31.7 tok/s.
- 250W is the efficiency peak: ~0.127 tok/s per watt, against ~0.091 at stock. About 39% better. That figure is our arithmetic on the source’s table.
- 280W is the no-measurable-loss point. Two different optima. Pick the one that matches your goal.
- 200W is a cliff, not a step. 20.6 tok/s — you lose 36% of speed to save 20% of power. Do not go there.
- Money is modest: ~$13/month per card for 100W saved, at $0.18/kWh. Temperature and noise are the better arguments.
- Most “undervolting” guides are power-limiting guides. They are not the same thing, and on Linux you only get one of them.
The Measured Data
One published sweep, with a stated method, from a named build: Jean Brito’s RTX 3090 power-limit test, posted April 28, 2026. Method: Qwen 3.6 27B (dense) via llama-swap v199, GGUF weights from unsloth/Qwen3.6-27B-GGUF, generating a 4,000-token essay at temperature 0.7.
The rightmost column is ours — the source published speed, clock and temperature, but not efficiency.
| Power limit | Speed (tok/s) | Core clock | Temp | tok/s per watt |
|---|---|---|---|---|
| 350W (stock) | 32.0 | 1710 MHz | 74°C | 0.091 |
| 300W | 33.0 | 1575 MHz | 73°C | 0.110 |
| 275W | 32.7 | 1530 MHz | 71°C | 0.119 |
| 250W | 31.7 | 1395 MHz | 69°C | 0.127 ← peak |
| 200W | 20.6 | 480 MHz | 71°C | 0.103 |
| 150W | 8.3 | very low | — | 0.055 |
Three things in this table are worth more than the headline.
1. The top 50 watts buy nothing. 300W measured faster than 350W (33.0 vs 32.0). That is almost certainly run-to-run variance rather than a real inversion, and we will not claim a lower limit makes a card faster. But a stock power budget that cannot beat a 14%-lower one is a budget with no work left in it.
2. The efficiency peak and the no-loss point are different settings. At 250W you give up 1% of speed and gain 39% in tokens per watt. At 275–280W you give up nothing measurable and gain about 30%. If the box runs unattended, take 250W. If you sit and wait on it, take 280W. Both are defensible; only one is usually named.
3. The 200W row ran hotter than the 250W row. 71°C against 69°C, at 50 fewer watts. That is not a physical effect — it is a single unreplicated run, and the likely explanations are ambient drift or fan-curve behaviour during a much longer test. We flag it rather than smooth it over, because it is a useful reminder of what this data is: one hobbyist sweep on one card with one model. Treat the shape as reliable and the individual numbers as indicative.
Why It Works, and Where It Stops Working
Token generation reads the entire model out of VRAM once per token. It is memory-bandwidth bound. A core power limit throttles the core clock; it does not touch the memory clock. So while the core still has enough headroom to keep the memory subsystem saturated, cutting core power costs nothing.
The cliff is the point where it no longer can. Look at the clocks: 1395 MHz at 250W, and 480 MHz at 200W. That is not a gentle taper — the card falls out of its operating band and can no longer feed memory. Everything above the cliff is nearly free. Everything below it is expensive. The whole skill is finding the edge without going over it.
The caveat nobody states. Prefill — processing your prompt — is compute bound, not bandwidth bound. A power limit constrains exactly the thing prefill needs. The sweep above measured a 4,000-token generation, which is decode-heavy, so it does not measure the prefill penalty at all. If your agent regularly pastes 50K tokens of code into context, the 1% figure does not apply to the part you are actually waiting on. Benchmark your own prefill before you settle.
What It Saves
At the US average residential rate of $0.18/kWh as of August 2026, per card, running continuously:
| Cut from stock | kWh/month | Cost/month | Cost/year |
|---|---|---|---|
| 350W → 280W (−70W) | 51 | ~$9 | ~$110 |
| 350W → 250W (−100W) | 73 | ~$13 | ~$158 |
| Two cards, −100W each | 146 | ~$26 | ~$315 |
This is not life-changing money, and we are not going to pretend otherwise. A hundred dollars a year does not justify a weekend of tuning on its own. The reasons that do:
- Temperature. 74°C → 69°C on the core, and a proportionally larger drop on the memory junction, which is what actually kills 3090s.
- Noise. Fans follow heat. A card at 250W in an office is a different object from a card at 350W.
- Circuit headroom. Two cards at 250W instead of 350W frees 200W — often the difference between fitting a circuit and not. This becomes decisive at four cards; see the 4x RTX PRO 6000 Max-Q build, where the wall socket is the binding constraint.
- Longevity. If the plan is to keep a used card for three more years, running it 30% below its ceiling is cheap insurance.
Fold these into the full picture on local LLM electricity cost and break-even.
Power Limit vs Undervolt — They Are Not the Same
This distinction is blurred in nearly every guide on the subject, and it changes what you should expect.
| Power limit | True undervolt | |
|---|---|---|
| What it does | Caps total board watts | Edits the voltage-frequency curve |
| How the card responds | Drops clocks to stay under the cap | Holds a target clock at lower voltage |
| Result | Fewer watts, lower clocks | Same watts, higher clocks |
| Tool | nvidia-smi -pl (Linux + Windows) | MSI Afterburner curve editor (Windows) |
| Available on Linux? | Yes | No consumer tool for NVIDIA |
A true undervolt is strictly better — you keep the clock and pay less voltage for it. But NVIDIA exposes no voltage-frequency curve editor on Linux, and most 24/7 inference boxes run Linux. So on the machine you probably care about, power limiting is the tool you have, and the article you are reading is a power-limiting article wearing the more popular title.
For bandwidth-bound decode the two converge, which is why the imprecision has survived. For prefill and fine-tuning, a real undervolt is meaningfully better, and that is an argument for tuning on Windows if the box is dual-purpose.
The Commands
Check what your card allows before setting anything:
nvidia-smi -q -d POWER
Read Min Power Limit and Max Power Limit. Every model differs, and board partners set different floors — do not assume the 3090’s range applies to your card.
Enable persistence mode, then set the limit:
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 280
Verify under load, not at idle. Run a real generation and watch it:
nvidia-smi --query-gpu=power.draw,clocks.sm,temperature.gpu \
--format=csv -l 2
Power limits do not survive a reboot. For a machine that runs an agent continuously, make it a systemd unit:
# /etc/systemd/system/gpu-power-limit.service
[Unit]
Description=Set GPU power limit
After=nvidia-persistenced.service
[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pm 1
ExecStart=/usr/bin/nvidia-smi -pl 280
[Install]
WantedBy=multi-user.target
Then sudo systemctl enable --now gpu-power-limit.service.
For multiple cards, add -i 0, -i 1 and so on to target each GPU, or omit the flag to apply the limit to all of them.
Find Your Own Cliff in Twenty Minutes
The 3090’s edge sits near 250W. Yours will not, because it depends on your card, your model and your quantization. The procedure is short:
- Pick the model your agent actually runs. Not a benchmark model — the cliff moves with model size and architecture.
- Fix a repeatable task: a set prompt, a set output length, temperature 0.
- Measure at stock. Record tokens per second.
- Step down in 25W increments. Record each.
- Find the last step where speed is within about 2% of stock. That is your no-loss point.
- Divide speed by watts at each step. The maximum is your efficiency point. It will sit one or two steps below the no-loss point.
- Also measure prefill with a long prompt at both settings, then decide.
Twenty minutes, once, on a machine that will run for years.
The Factory Version of This Decision
There is a card that ships pre-tuned this way. The RTX PRO 6000 Blackwell Max-Q is the same silicon as the Workstation Edition — identical 96GB, identical 1,792 GB/s, identical 24,064 CUDA cores — rated at 300W instead of 600W, for about 12% less compute. That is a factory undervolt sold as a SKU, with a matched cooler and a warranty that a hand-tuned card does not have. Details in Max-Q vs Workstation Edition.
If you are still on a 24GB card, the sweep above is from an RTX 3090 — still the used-market default for local inference, and the card these numbers describe:
EVGA GeForce RTX 3090 24GB — used 3090s run $1,000–1,300 as of August 2026, not the “$650–750” still quoted across the web. At 250W it is a genuinely good 24/7 inference card.
See Also
- Local LLM Electricity Cost and Break-Even — the full running-cost model these savings feed into
- RTX PRO 6000 Max-Q vs Workstation Edition — the same tradeoff, made at the factory
- Can You Put Four RTX PRO 6000 Max-Q Cards in One Workstation? — where power headroom stops being optional
- What PSU for a Local AI Rig — sizing supply around your real, limited draw
- Dual RTX 3090 vs RTX 5090 — two limited cards against one fast one
- Is 48GB of VRAM Enough in 2026? — what two 3090s buy you
Sources
- RTX 3090 power-limit sweep: Jean Brito, “RTX 3090 Power Limit: Finding the Sweet Spot for Local LLM Inference,” posted 2026-04-28. Method as stated: Qwen 3.6 27B, llama-swap v199,
unsloth/Qwen3.6-27B-GGUF, 4,000-token essay at temperature 0.7. This is one hobbyist sweep on one card, not a replicated benchmark. We use it because it publishes its method; treat the shape as reliable and the individual numbers as indicative. - Tokens-per-second-per-watt figures are our own arithmetic on that published table. The source did not report efficiency.
- Electricity at $0.18/kWh (US average, August 2026, EIA-derived) and used RTX 3090 pricing at $1,000–1,300 (ResalePrices eBay-US, gpudojo, August 2026) from our hardware price reference
- Max-Q and Workstation Edition specifications from NVIDIA datasheets 3519233 and 5349469
Need OpenClaw fixed live?
Remote rescue sessions for gateway, auth, tunnel, VPS, and model access problems.
See Rescue Session