web-dev-qa-db-fra.com

La fréquence du processeur est trop élevée, même avec le gouverneur "powersave"

Récemment, j'ai remarqué que mon processeur se trouvait la plupart du temps à des fréquences élevées, même avec une charge très faible.

C'est un processeur i5-7300HQ qui devrait utiliser des fréquences comprises entre 800 MHz et 2,5 GHz (3,5 GHz avec Turbo Boost).

Maintenant, même lorsque la charge est d'environ 2 à 8%, les fréquences que je vois se situent généralement entre 2,6 et 3,2 GHz, ce qui signifie que le processeur est presque toujours Turbo Boosting.

Avant c'était toujours 900 - 1200 MHz.

Le régulateur de mise à l'échelle est réglé sur powersave:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave

Dans /etc/default/grub j'ai une ligne:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable scsi_mod.scan=sync"

Dans /etc/default/cpufrequtils:

GOVERNOR="powersave"

Il n'y a pas de /sys/devices/system/cpu/intel_pstate/ dir

Les spécifications de mon système sont:

  • Ordinateur portable: HP Pavilion - 15-bc203nw
  • Système d'exploitation: Ubuntu (Xubuntu) 18.04.1 LTS
  • CPU: Intel Core i5-7300HQ

EDIT

Après les suggestions de @ WinEunuuchs2Unix, j’ai de nouveau /sys/devices/system/cpu/intel_pstate/ dir.

En tapant ce qui suit:

cd /sys/devices/system/cpu/cpu0/cpufreq && paste <(ls *) <(cat *)

donne le résultat:

affected_cpus                             0
cpuinfo_max_freq                          3500000
cpuinfo_min_freq                          800000
cpuinfo_transition_latency                0
energy_performance_available_preferences  default performance balance_performance balance_power power
energy_performance_preference             balance_performance
related_cpus                              0
scaling_available_governors               performance powersave
scaling_cur_freq                          3236541
scaling_driver                            intel_pstate
scaling_governor                          performance
scaling_max_freq                          3500000
scaling_min_freq                          3500000
scaling_setspeed                          <unsupported>

Comment puis-je le régler sur powersave (le changer simplement dans le fichier scaling_governor ne fait rien).

2
Jorengarenar

Réponse version 3.0

La version 4.14.98 du noyau a finalement résolu les problèmes que j'ai remarqués depuis 6 mois environ:

  • Lorsque le système est inactif, la fréquence du processeur passe à 3 000 MHz en mode Turbo.
  • Lorsque le système est occupé, la fréquence du processeur s’abaisserait à environ 1 500 MHz.

Maintenant, comme vous pouvez le voir lorsque le système est inactif, le système est à 800 MHz, comme il se doit:

enter image description here

Réponse version 2.0

OP mise à jour de la question avec les résultats de la réponse initiale ci-dessous et pour une raison quelconque, le régulateur est réglé sur le mode performance qui exécute toutes les CPU à la vitesse maximale en permanence.

Nous devons faire l'inverse de cette réponse: Définissez les performances du gouverneur pour le processeur dans 18.04 :

Utilisez: Sudo -H gedit /etc/rc.local put insérez ceci avant la dernière ligne contenant exit 0:

sleep 120 # Give CPU startup routines time to settle.
echo powersave | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo 800000 | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq

Enregistrez le fichier et redémarrez. Deux minutes après le redémarrage de votre CPU, celui-ci s’installera et fonctionnera normalement.


Et si /etc/rc.local n'existe pas?

À partir de ceci: le fichier rc.local Ubuntu 16.10 n'existe pas

vous devez entrer:

Sudo systemctl enable rc-local.service

Réponse initiale

Selon: intel_pstate Pilote de performance du processeur , intel_pstate l'état devrait être:

statut

Operation mode of the driver: “active”, “passive” or “off”.

“active”
    The driver is functional and in the active mode.
“passive”
    The driver is functional and in the passive mode.
“off”
    The driver is not functional (it is not registered as a scaling driver with the CPUFreq core)

Ma première étape consisterait à supprimer le paramètre de ligne de commande du noyau intel_pstate=disable.

Redémarrez et tapez ce qui suit:

$ cd /sys/devices/system/cpu/cpu0/cpufreq

$ paste <(ls *) <(cat *)

affected_cpus                             0
cpuinfo_max_freq                          3500000
cpuinfo_min_freq                          800000
cpuinfo_transition_latency                0
energy_performance_available_preferences  default performance balance_performance balance_power power 
energy_performance_preference             balance_performance
related_cpus                              0
scaling_available_governors               performance powersave
scaling_cur_freq                          832522
scaling_driver                            intel_pstate
scaling_governor                          powersave
scaling_max_freq                          3500000
scaling_min_freq                          800000
scaling_setspeed                          <unsupported>

C'est ce que j'ai dans une configuration par défaut sans intel_pstate=disable.

Portez une attention particulière à scaling_max_freq et scaling_min_freq.

Vous voudrez peut-être temporairement désinstaller le package CPU Freq Utils:

Sudo apt remove cpufrequtils

Je n'en ai jamais trouvé le besoin et il se peut que votre système soit en ruine. Plus tard, vous pourrez l'installer à nouveau (si besoin est) avec:

Sudo apt install cpufrequtils
1
WinEunuuchs2Unix