Как установить в качестве режима производительности по умолчанию на Ubuntu 20.04 вместо Powersave?

Я пытался безуспешно, чтобы губернатор CPU по умолчанию для производительности вместо Powersave при запуске. Есть ли пробовный и истинный метод, который в настоящее время работает для Ubuntu 20.04? Я попробовал принятое решение для 18,04 , но, к сожалению, когда я перезагрузил и посмотрел на индикатор-CPUFREQ, PowerSave остался выбранным.

0
задан 10 March 2021 в 18:53

1 ответ

Если ваш процессор по умолчанию для использования PowerSave PowerSave Губернатор частоты частоты CPU, то он, вероятно, использует драйвер масштабирования частоты частоты CPSTEL_PSTATE CPU. Проверьте через:

$ grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_driver
/sys/devices/system/cpu/cpufreq/policy0/scaling_driver:intel_pstate
...
/sys/devices/system/cpu/cpufreq/policy5/scaling_driver:intel_pstate

Ubuntu изменил конфигурацию ядра по умолчанию как для губернатора по умолчанию. Раньше он был производительностью , и теперь это SCHEATIL , который будет допущен до PowerSave , если SCHEATIL недоступен. Поэтому некоторые из более старых ответов больше не применяются.

Метод 1 Сервис OnDemand только что звонит / lib / systemdd / set-cpufreq , который можно редактировать для установки губернатора на производительности вместо того, что он в настоящее время делает. Этот старый ответ указывает на метод, повторяемый и измененный здесь:

doug@s18:~/config/lib/systemd$ diff -u set-cpufreq.original set-cpufreq
--- set-cpufreq.original        2021-03-10 14:07:32.036863542 -0800
+++ set-cpufreq 2021-03-10 14:10:05.313627963 -0800
@@ -10,6 +10,10 @@

 read governors < $AVAILABLE
 case $governors in
+        *performance*)
+                GOVERNOR="performance"
+                break
+                ;;
         *interactive*)
                 GOVERNOR="interactive"
                 break

после редактирования и после перезагрузки, проверьте его:

$ grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
/sys/devices/system/cpu/cpufreq/policy0/scaling_governor:performance
...
/sys/devices/system/cpu/cpufreq/policy5/scaling_governor:performance

и проверьте состояние службы, которое должно быть мертвым :

$ sudo systemctl status ondemand
[sudo] password for doug:
● ondemand.service - Set the CPU Frequency Scaling governor
     Loaded: loaded (/lib/systemd/system/ondemand.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Wed 2021-03-10 14:13:02 PST; 1min 18s ago
    Process: 667 ExecStart=/lib/systemd/set-cpufreq (code=exited, status=0/SUCCESS)
   Main PID: 667 (code=exited, status=0/SUCCESS)

Mar 10 14:12:57 s18 systemd[1]: Started Set the CPU Frequency Scaling governor.
Mar 10 14:13:02 s18 set-cpufreq[667]: Setting performance scheduler for all CPUs
Mar 10 14:13:02 s18 systemd[1]: ondemand.service: Succeeded.

Если что-то позже во время загрузки переопределяет установку губернатора, это было бы намного лучшее, чтобы выяснить, что и избавиться от него. Однако, и так же, как временный обходной путь, попробуйте ввести задержку сна в эту услугу (обратите внимание на старинный сценарий ondemand, используемый для задержки 1 минуты, затем измените губернатор). Необменный пример:

doug@s18:~/config/lib/systemd$ diff -u set-cpufreq.original set-cpufreq.doug.test
--- set-cpufreq.original        2021-03-10 14:07:32.036863542 -0800
+++ set-cpufreq.doug.test       2021-03-10 16:24:13.088946203 -0800
@@ -10,6 +10,10 @@

 read governors < $AVAILABLE
 case $governors in
+        *performance*)
+                GOVERNOR="performance"
+                break
+                ;;
         *interactive*)
                 GOVERNOR="interactive"
                 break
@@ -34,6 +38,8 @@

 [ -n "${GOVERNOR:-}" ] || exit 0

+sleep 60
+
 echo "Setting $GOVERNOR scheduler for all CPUs"

 for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Метод 2 Теперь, если вы предпочитаете работать с этой службой отключены:

$ sudo systemctl disable ondemand
Removed /etc/systemd/system/multi-user.target.wants/ondemand.service.

, то предпочтение может быть установлено на командной строке GRUB, добавив CPUFREQ.Default_Governor = Performance к тому, что уже присутствует. Держите копию / etc / default / grub , прежде чем начать и в случае, если вы хотите вернуться позже. Этот пример включает в себя другие вещи, уже в моей командной строке. Итак, в моем случае я изменил это:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=450 msr.allow_writes=on cpuidle.governor=teo intel_idle.states_off=4"

к этому:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 consoleblank=450 cpufreq.default_governor=performance msr.allow_writes=on cpuidle.governor=teo intel_idle.states_off=4"

запустить Sudo Update-grub впоследствии и перезагрузка. Затем проверьте:

doug@s18:~$ grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
/sys/devices/system/cpu/cpufreq/policy0/scaling_governor:performance
...
/sys/devices/system/cpu/cpufreq/policy5/scaling_governor:performance

Осторожно: Убедитесь, что ваш компьютер может работать в режиме производительности, не создавая много нагрева, потому что используются какие-либо методы теплового дросселирования, могут не работать, еще не работают в процессе загрузки.

0
ответ дан 18 March 2021 в 23:27

Другие вопросы по тегам:

Похожие вопросы: