2026/08/22

Limit NVIDIA graphics card power consumption

My RTX3080 Ti pulls up to 350 Watts and that can get so hot that games slow down. But you can limit power consumption on this card between 100 and 370 Watts.

How to set this up so it starts low already?

A systemd service is more reliable than e.g. .bashrc, crontab, or /etc/rc.local, because it runs as root during boot (NVIDIA documentation).

Create the service

Replace 200 with your desired wattage:

sudoedit /etc/systemd/system/nvidia-power-limit.service

Add:

[Unit]
Description=Set NVIDIA GPU power limit
After=nvidia-persistenced.service
Wants=nvidia-persistenced.service
 
[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -i 0 -pl 200
RemainAfterExit=yes
 
[Install]
WantedBy=multi-user.target

Save the file, then enable and start it:

sudo systemctl daemon-reload
sudo systemctl enable --now nvidia-power-limit.service

This runs the command immediately and automatically at every boot.

Verify it

Check the configured limit:

nvidia-smi -i 0 --query-gpu=power.limit --format=csv

Check the service:

systemctl status nvidia-power-limit.service

If it fails, inspect the boot log:

journalctl -u nvidia-power-limit.service -b

Check valid wattages first

Your GPU only accepts values within its supported range:

nvidia-smi -i 0 -q -d POWER

Look for:

Min Power Limit
Max Power Limit

Use a value between those limits. NVIDIA’s syntax is:

sudo nvidia-smi -i 0 -pl <watts>

For example:

sudo nvidia-smi -i 0 -pl 180

If /usr/bin/nvidia-smi does not exist on your distribution, find its location with:

command -v nvidia-smi

Then use that path in ExecStart. For multiple GPUs, add another service command, for example:

ExecStart=/usr/bin/nvidia-smi -i 0 -pl 200
ExecStart=/usr/bin/nvidia-smi -i 1 -pl 200

Note that some driver/GPU combinations may reset the limit when the GPU driver is reloaded, even though the systemd service correctly applies it during boot. A systemd timer that runs a few seconds after boot can handle that case.

Discussion

Enter your comment: