web-dev-qa-db-fra.com

Comment définir le mode de performance par défaut sur Ubuntu 20.04 au lieu de PowerSave?

J'essaie sans succès d'avoir le gouverneur de la CPU par défaut à la performance au lieu de PowerSave au démarrage. Existe-t-il une méthode éprouvée qui fonctionne actuellement pour Ubuntu 20.04? J'ai essayé la solution acceptée pour 18.04 , mais malheureusement, lorsque j'ai redémarré et examiné Indicateur-CPUFREQ, PowerSave est resté sélectionné.

1
facialrecognition

Si votre processeur est en défaut à l'aide du gouverneur de la fréquence de fréquence powersave de la CPU, il utilise probablement probablement le pilote d'échelle de fréquence Intel_Pstate CPU. Vérifiez via:

$ 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 a modifié la configuration du noyau par défaut comme pour le gouverneur par défaut. Il était utilisé pour être performance et maintenant il est schedutil, qui tombera à partir de powersave si schedutil n'est pas disponible. Par conséquent, certaines des réponses plus anciennes ne s'appliquent plus.

Méthode 1 Le service Ondemand appelle simplement /lib/systemd/set-cpufreq, qui pourrait être édité pour définir le gouverneur à performance au lieu de ce qu'il fait actuellement. cette ancienne réponse indique une méthode, répétée et modifiée ici:

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

Après la modification et après le démarrage, vérifiez-le:

$ 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

Et vérifiez le statut du service, qui devrait être mort maintenant:

$ 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.

Si quelque chose plus tard au cours de Boot, il remplace le réglage du gouverneur, il serait de loin préférable de comprendre quoi et de s'en débarrasser. Toutefois, et tout comme une solution de contournement temporaire, essayez d'introduire un délai de sommeil dans ce service (notez que le script de démarrage de ONDEMAND l'aînée utilisait 1 minute, puis changez le gouverneur). Exemple non testé:

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

Méthode 2 Maintenant, si vous préférez courir avec ce service désactivé:

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

ensuite, la préférence peut être définie sur la ligne de commande grub en ajoutant cpufreq.default_governor=performance à ce qui est déjà présent. Gardez une copie de /etc/default/grub Avant de commencer et au cas où vous voudrez revenir plus tard. Cet exemple inclut d'autres choses déjà dans ma ligne de commande. Donc, dans mon cas, j'ai changé ceci:

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

pour ça:

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"

Courir Sudo update-grub ensuite et re-boot. Puis vérifier:

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

ATTENTION: Assurez-vous que votre ordinateur peut fonctionner en mode de performance sans créer beaucoup de chaleur, car quelles que soient les méthodes d'étranglement thermique utilisées pourraient ne pas encore fonctionner pendant le processus de démarrage.

0
Doug Smythies

Sur Ubuntu21.10: powerprofilesctl set performance

Vous pouvez l'ajouter en tant que script de démarrage.

Plus d'infos ici: Power-Profiles-Daemon_0.8.1-1_AMD64.deb

[Modifier - Vous avez un message pour ajouter des références supplémentaires - voir le lien supplémentaire avec plus d'informations]

Profils de puissance-Daemon

Je ne sais pas si vous voulez que je copie et collez le fichier README.MD sur le power-profiles-daemon Page.

0
ATutorMe