systemd-сервис для переключения на performance governor (AMD, cpufreq)

Для процессоров AMD (и для Intel, если он вместо стандартного P-State управляется драйвером cpufreq; возможно, и для ARM и MIPS, в т.ч. Raspberry Pi).

Создайте файл /etc/systemd/system/cpufreq-performance.service со следующим содержимым (sudo nano /etc/systemd/system/cpufreq-performance.service):

[Unit]
Description=Set CPU performance governor
ConditionPathExists=/sys/devices/system/cpu/online

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c "echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor"
ExecStop=/bin/bash -c "echo ondemand | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor"

[Install]
WantedBy=multi-user.target

Выключите сервис ondemand, который есть из коробки, например, в Ubuntu, и включает планировщик процессора ondemand:
sudo systemctl disable ondemand
На некоторых дистрибутивах, например, на Росе, вместо ondemand есть сервис cpupower, выключим его:
sudo systemctl disable cpupower
Даже если у вас нет одного или обоих из этих сервисов, то команды их выключения не повредят системе, а просто не сработают.

sudo systemctl daemon-reload
sudo systemctl enable cpufreq-performance (добавляет переключение всех ядер процессора на performance в автозапуск)
sudo systemctl start cpufreq-performance (переключает все ядра процессора на говернёр performance)
sudo systemctl stop cpufreq-performance (переключает все ядра процессора на стандартный говернер ondemand)
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor (проверить, каким говернером сейчас управляются все ядра процессора)

Отправить ответ

avatar
  Subscribe  
Сообщать по почте