This is a background service for Windows that monitors the current power limit setting on NVIDIA graphics cards. It can be configured to maintain a specific setting and will apply the setting if the current readout differs.
I created this program because it seems that the settings applied
via the NVIDIA app or nvidia-smi are not retained when the
computer restarts or wakes up from standby. When this program is
started on Windows boot, it will set a configured power limit and
monitor it regularly (interval can be configured).
Most of this code I didn't write myself; I used a large language model (LLM) to assist in generating it. While the code may not be the most efficient or well-structured, it fulfills the purpose it was designed for.
This project is an independent initiative and is not associated with or endorsed by NVIDIA in any capacity.
- Download the binary from the repository's releases page.
- Move the
.exefile to a permanent location outside the Downloads folder. - Open a terminal with administrator privileges in the folder where
the
.exeis located. - Run the following commands to install and start the service:
.\gpu-power-limit-daemon.exe install
sc start GpuPowerLimitDaemonTo uninstall the service, use these commands:
sc stop GpuPowerLimitDaemon
.\gpu-power-limit-daemon.exe uninstallThe configuration file is located at
C:\ProgramData\gpu-power-limit-daemon\config.toml. It can be used
to adjust the check interval and the desired power limit. The
default setting is 60 seconds and your graphics card's maximum power
limit.
This project uses the NVML.dll (NVIDIA Management Library) that
comes with the graphics driver. It requires administrator rights to
make adjustments to the GPU configuration, and thus this service
also needs those rights.