$ cd pranavchip.com && cd /docs

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Tuning Nvidia GPU for max performance
=====================================
Pranav Chiploonkar 
2026-07-08

1. Enable NVIDIA Persistence Daemon
===================================
This keeps the GPU driver loaded and ready, even when idle. This
improves snappiness when an application requires GPU time, because
the kernel hasn't unloaded it.

This is a simple fix, because Nvidia provides a systemd service for
precisely this:

    $ sudo systemctl enable --now nvidia-persistenced.service

You can check its status via:

    $ systemctl status nvidia-persistenced.service

    ● nvidia-persistenced.service - NVIDIA Persistence Daemon
         Loaded: loaded
         (/usr/lib/systemd/system/nvidia-persistenced.service; enabled;
         preset: disabled)
         Active: active (running) since Wed 2026-07-08 19:47:27 MST;
         45min ago
     Invocation: 1cac2c7019fe4ddcb052002875a9bf75
       Main PID: 35474 (nvidia-persiste)
          Tasks: 1 (limit: 18462)
         Memory: 764K (peak: 2.1M)
            CPU: 9ms
         CGroup: /system.slice/nvidia-persistenced.service
                 └─35474 /usr/bin/nvidia-persistenced --user
                 nvidia-persistenced

    Jul 08 19:47:27 candypaint systemd[1]: Starting NVIDIA Persistence
    Daemon...
    Jul 08 19:47:27 candypaint nvidia-persistenced[35474]: Started
    (35474)
    Jul 08 19:47:27 candypaint systemd[1]: Started NVIDIA Persistence
    Daemon.

2. Ensure power limit is set to its maximum
===========================================
I have an NVIDIA RTX 2020 Mobile, and its max power is 80 watts.

It is already set to 80 W, but just in case, it is possible to enforce
it via:

    $ sudo nvidia-smi -pl 80

    Changing power management limit is not supported for GPU:
    00000000:01:00.0.
    Treating as warning and moving on.
    All done.

Uh, so maybe not on my card in particular, but it's useful to know
about regardless?

3. Set GPU clocks and VRAM clocks to max
========================================
The max clock speeds can be found in

    $ sudo nvidia-smi -q

Upon finding them, you can set the min/max to be the same. This will
pin clock speeds to the max at all times, even while idling. Note
that this will *significantly* increase thermal load at idle.

    $ sudo nvidia-smi --lock-gpu-clocks=2100,2100
    $ sudo nvidia-smi --lock-memory-clocks=5501,5501

To undo this, run

    $ sudo nvidia-smi --reset-gpu-clocks
    $ sudo nvidia-smi --reset-memory-clocks

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSJp6PBWSJCR8aCbbXYWutBuYPnewUCak8Y/gAKCRDYWutBuYPn
e+pXAP49HzX9JMvuO4Vy5fdKCFnkURMiiiDG1wbLKbR9s8cI+gEAmwfvm01Hibsy
JKkNDJZK7W/YhA0Dy9ulgfwu5pVGNwE=
=YWXq
-----END PGP SIGNATURE-----