How to Set NVIDIA GPU Power Limit

Modern GPUs, such as the NVIDIA RTX 4090, often consume more power than necessary, even during low workloads. By optimizing power limits and undervolting, you can reduce GPU energy consumption, lower system heat, and even run high-performance graphics cards with smaller PSUs, such as 750W, without compromising stability. This guide will show you how to reduce GPU power usage effectively while maintaining performance.

Screenshot taken from this video at the 17:05 mark.

Power Target

Disclaimer
Modifying power limits can affect system stability or void warranties. Follow official guidelines and proceed with caution.


Prerequisites

  1. Ensure NVIDIA drivers are installed.
  2. Verify nvidia-smi is available in the console.

Check Current Power Limit

Run the following command to view the current power limits:

nvidia-smi -q -d POWER

Set Power Limit

Use the nvidia-smi command below to set a specific GPU power limit, such as 360W. This is one of the easiest ways to reduce GPU power usage and optimize NVIDIA GPU energy efficiency.

nvidia-smi -pl 360
nvidia-smi.exe

Windows: Automating Power Limit with Task Scheduler

Step 1: Create a Batch File

Create a batch file named set_gpu_power_limit.bat and save it in your home folder with the following content:

@echo off
nvidia-smi.exe -pl 360

Step 2: Configure Task Scheduler

  1. Open Task Scheduler

    • Press Win + R, type taskschd.msc, and press Enter.
      Open Task Scheduler
  2. Create a New Task

    • Click “Create Task…” in the Actions panel.
      Create New Task
  3. General Tab

    • Name the task (e.g., “Set GPU Power Limit”).
    • Check “Run with highest privileges”.
    • Set “Configure for” to your Windows version.
      General Tab
  4. Triggers Tab

    • Add a trigger set to “At log on”.
      Triggers Tab
  5. Actions Tab

    • Add an action to “Start a program”.
    • Point to your set_gpu_power_limit.bat file.
      Actions Tab
  6. Conditions Tab

    • Adjust conditions as necessary (e.g., only run on AC power).
      Conditions Tab
  7. Settings Tab

    • Check “Allow task to be run on demand”.
      Settings Tab

Linux: Setting GPU Power Limit

For Linux users, optimizing NVIDIA GPU performance is just as straightforward. You can control and reduce GPU power consumption on Linux using the powerful nvidia-smi tool.

Step 1: Create a Shell File

  1. Create the script:

    nano ~/set_gpu_power_limit.sh
    
  2. Add the following content:

    #!/bin/bash
    nvidia-smi -pl 360
    
  3. Make the script executable:

    chmod +x ~/set_gpu_power_limit.sh
    

Step 2: Make the Setting Persist at Boot Using a systemd Service

  1. Create the service file:

    sudo nano /etc/systemd/system/set-gpu-power-limit.service
    
  2. Add the following content:

    [Unit]
    Description=Set NVIDIA GPU Power Limit
    After=multi-user.target
    
    [Service]
    Type=oneshot
    ExecStart=/home/pariz/set_gpu_power_limit.sh
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
  3. Reload systemd and enable the service:

    sudo systemctl daemon-reload
    sudo systemctl enable set-gpu-power-limit.service
    sudo systemctl start set-gpu-power-limit.service
    

Summary

Setting the GPU power limit is one of the most practical ways to optimize NVIDIA GPU performance, reduce power consumption, and improve energy efficiency. Whether you’re undervolting a GPU for gaming, reducing system heat, or running a high-performance card like the RTX 4090 on a smaller PSU, these methods will ensure stability and efficiency.