HackWare.ru

Как разблокировать максимальный TGP для видеокарты NVIDIA в Linux. Как включить Dynamic Boost на Linux

Оглавление

  1. Почему видеокарта работает не на полную мощность в Linux
  2. Как разблокировать максимальный TGP для видеокарты в Linux
  3. Что такое Dynamic Boost

Почему видеокарта работает не на полную мощность в Linux

В NVIDIA Settings вы можете посмотреть характеристики своей видеокарты. Для моей ноутбучной видеокарты в NVIDIA Settings я вижу:

Default TGP: 80 W
Max TGP: 175 W

То есть по умолчанию TGP (максимальная мощность видеокарты) равна 80 Вт, но максимальной является мощность в 175 Вт

Но nvidia-smi всё время выводит значение 80W:

nvidia-smi 
Wed Nov 12 10:46:10 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 5080 ...    Off |   00000000:01:00.0  On |                  N/A |
| N/A   72C    P4             79W /   80W |   13234MiB /  16303MiB |    100%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1269      G   /usr/lib/Xorg                             3MiB |
|    0   N/A  N/A            1397      G   /usr/bin/kwin_wayland                     3MiB |
|    0   N/A  N/A         3116651      C   python                                13050MiB |
+-----------------------------------------------------------------------------------------+

Даже при полной нагрузке видеокарта не переходит в режим полной мощности. Фактически, она работает в половину своей силы.

Как разблокировать максимальный TGP для видеокарты в Linux

Создайте папку /etc/dbus-1/system.d если она отсутствует:

sudo mkdir -p /etc/dbus-1/system.d

Найдите расположение файла nvidia-dbus.conf:

locate nvidia-dbus.conf

Теперь этот файл нужно скопировать в директорию /etc/dbus-1/system.d. К примеру, путь до файла в моей системе /usr/share/dbus-1/system.d/nvidia-dbus.conf, тогда для копирования файла я использую следующую команду:

sudo cp /usr/share/dbus-1/system.d/nvidia-dbus.conf /etc/dbus-1/system.d

Чтобы разблокировать вторую половину своей видеокарты нужно запустить службу nvidia-powerd, это делается командой:

sudo systemctl start nvidia-powerd.service

И уже сразу же после этого nvidia-smi начинает показывать мощность 175 Вт — это уже почти максимум:

nvidia-smi 
Wed Nov 12 11:59:28 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 5080 ...    Off |   00000000:01:00.0  On |                  N/A |
| N/A   87C    P0            154W /  175W |   14290MiB /  16303MiB |    100%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1269      G   /usr/lib/Xorg                             3MiB |
|    0   N/A  N/A            1397      G   /usr/bin/kwin_wayland                     3MiB |
|    0   N/A  N/A         3116651      C   python                                14106MiB |
+-----------------------------------------------------------------------------------------+

Вот такой простой командой мы сделали видеокарту в 2 раза мощнее!

Проверьте статус:

systemctl status nvidia-powerd.service

Пример вывода:

● nvidia-powerd.service - nvidia-powerd service
     Loaded: loaded (/usr/lib/systemd/system/nvidia-powerd.service; enabled; preset: disabled)
     Active: active (running) since Fri 2025-11-14 10:08:53 +07; 32min ago
 Invocation: a91ff043acf644a98dfa0ec9a507ff15
   Main PID: 2428061 (nvidia-powerd)
      Tasks: 5 (limit: 74054)
     Memory: 2.6M (peak: 6.8M, swap: 2.2M, swap peak: 2.2M)
        CPU: 20.276s
     CGroup: /system.slice/nvidia-powerd.service
             └─2428061 /usr/bin/nvidia-powerd

Nov 14 10:08:53 HackWare systemd[1]: Started nvidia-powerd service.
Nov 14 10:08:53 HackWare nvidia-powerd[2428061]: nvidia-powerd version:2.0 (build 1)
Nov 14 10:08:53 HackWare nvidia-powerd[2428061]: DBus Connection is established
Nov 14 10:08:53 HackWare nvidia-powerd[2428061]: ERROR! Error in setUid call : -1  errno: 11  rc: 7
Nov 14 10:08:53 HackWare nvidia-powerd[2428061]: ERROR! Error in processParam call : -1 16   13

В моём выводе имеются строки «ERROR! Error in setUid call : -1 errno: 11 rc: 7» и «ERROR! Error in processParam call : -1 16 13», но видимо это не критические ошибки — мощность действительно повышенна и вычисления стали выполняться быстрее.

Чтобы служба nvidia-power включалась автоматически с запуском компьютера выполните команду:

sudo systemctl enable nvidia-powerd.service

Что такое Dynamic Boost

Демон nvidia-powerd обеспечивает поддержку функции NVIDIA Dynamic Boost на платформах Linux. Dynamic Boost — это общесистемный контроллер питания, который управляет питанием графического процессора и центрального процессора в зависимости от нагрузки. Перераспределяя мощность между графическим процессором и центральным процессором, Dynamic Boost может обеспечить большую мощность того компонента, который в этом нуждается, не влияя на общий тепловой и электрический бюджет системы. Это оптимизирует общую производительность системы на ватт.

Dynamic Boost будет активен только при питании ноутбука от сети переменного тока и достаточной нагрузке на графический процессор. Он не будет задействован при работе системы от аккумулятора. Dynamic Boost предназначен для повышения производительности как в сбалансированных, так и в сильно нагруженных на ресурсы графического процессора или центрального процессора приложениях. Dynamic Boost запрашивает у регулятора частоты CPUFreq установку частоты процессора, обновляя записи в системной файловой системе /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq.

Dynamic Boost работает на ноутбуках.

То, что Dynamic Boost работает для видеокарты мы убедились по повышению её мощности. Мы также можем убедиться, что Dynamic Boost управляет процессором.

Убедимся, что governor имеет значение schedutil или powersave. Для этого посмотрим вывод команды:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Если там «schedutil» или «powersave», то отлично. Это значит что Dynamic Boost будет корректно менять частоты.

Название «powersave» здесь обманчивое – это не экономия, а просто адаптивный governor, который даёт ядрам разгоняться и сбрасывать частоту по запросам системы.

Проверим, что CPU governor действительно разрешает изменения частоты. Команда:

cpupower frequency-info | grep "current policy"

должна выдавать нечто вроде:

current policy: frequency should be within 1.48 GHz and 5.46 GHz.

Если там жёстко зафиксирована одна частота (например, 4.90 GHz and 4.90 GHz), — значит, вы в режиме performance lock, и Dynamic Boost не сможет перераспределять мощность.

Смотрите также: https://download.nvidia.com/XFree86/Linux-x86_64/580.105.08/README/dynamicboost.html

История обновлений

No update history yet.

Рекомендуется:
↑