[Pixel Post] How to Set a Power Limit on My NVIDIA GPU to Keep Temperatures Under Control

PixelPixel
2 min read

My workstation is equipped with a 600W NVIDIA RTX PRO 6000 Blackwell. It's a beast — and like any beast, it runs hot. During some of my deep learning workflows, I noticed the GPU temperature creeping past 80°C. While technically still within spec, it felt uncomfortable for long training sessions, especially given the sustained power draw.

I wanted a safer and more power-efficient setup. Limiting the GPU's maximum wattage seemed like the most direct and effective route. Here's how I set it up on Ubuntu Linux.


Step 1: Temporary Power Limit (Testing)

Before committing to any system-level changes, I tested the power limit manually:

sudo nvidia-smi -pl 250

This command sets the GPU power limit to 250 watts — a much safer ceiling for my cooling setup. You can substitute any value that fits your needs (within your GPU’s allowable range).

This change, however, only lasts until the next reboot.


Step 2: Persisting the Limit with systemd

To apply the power limit automatically every time the system boots, I created a simple systemd service.

Create the service file:

sudo nano /etc/systemd/system/gpu-power-limit.service

Paste in the following:

[Unit]
Description=Set NVIDIA GPU Power Limit
After=default.target

[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pl 250

[Install]
WantedBy=default.target

Again, replace 250 with whatever value suits your use case.

Enable and start the service:

sudo systemctl daemon-reload
sudo systemctl enable gpu-power-limit
sudo systemctl start gpu-power-limit

This ensures the power limit is applied on every reboot.


Step 3: Verification

After rebooting or starting the service, you can verify the new power limit with:

nvidia-smi

Look for the "Power Limit" field in the output — it should reflect the new value you set.


Step 4: Reverting (if needed)

If you want to remove the limit or experiment with a different value:

sudo systemctl stop gpu-power-limit
sudo systemctl disable gpu-power-limit

Then either change the wattage in the service file or delete it entirely.


Final Thoughts

Even though GPUs are built to handle high thermal loads, running them at full wattage all the time isn’t always necessary — especially during inference, fine-tuning, or other light workloads. Setting a reasonable power limit helped me maintain cooler temperatures, reduce fan noise, and worry less about long-term wear.

If you're working with high-wattage GPUs in tight or poorly ventilated setups, this is a simple but effective change worth making.


Let me know if you'd like a more technical version with power graphs or integration into your server bootstrap scripts.

0
Subscribe to my newsletter

Read articles from Pixel directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Pixel
Pixel