web-dev-qa-db-fra.com

CPU lent après la reprise

Parfois, après avoir mis mon ordinateur portable en veille, son processeur est verrouillé sur la fréquence la plus lente - environ 600-700 MHz.

Mon ordinateur portable est Dell E6420 avec i5-2520m.
Version du noyau: 4.6.0-040600-generic.
J'ai rencontré ce bogue pour la première fois dans la version 14.04. Et maintenant nous avons 16.04 et il est toujours là.

Je travaille sur mon ordinateur portable, tout va bien, rapide et sans heurts. Je ferme le couvercle, met mon ordinateur portable en veille, débranche l'alimentation électrique, il dort sur sa batterie. Je reviens après quelque temps, ouvre le couvercle. Et tout est lent comme l'enfer; D
Je vérifie la fréquence du processeur en utilisant

watch -n 1 'cat /proc/cpuinfo | grep MHz'

et je vois tous mes cœurs travailler sur une fréquence de ~ 600 Mgz.

Je vérifie les régulateurs d'échelle

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

Et je vois 'powersave'.

Pour 'réparer' cela, je dois faire quelque chose comme ça

echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

Après cela, tout est rapide comme avant.

Le pilote de mise à l'échelle du processeur est vérifié avec intel_pstate

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver                                                 

Je suis fatigué d'avoir toujours exécuté ce script. C'est comme si je ne pouvais plus me fier à Ubuntu ou à mon ordinateur portable (je ne sais pas à qui la faute revient).

Pourquoi le processeur est lent après le sommeil. Pourquoi cela arrive-t-il? Comment résoudre ce bug?

4
justmatt

Le problème que vous rencontrez avec votre ordinateur portable est un problème connu de certains ordinateurs portables Dell. Lorsque vous reprenez la suspension sur batterie, le bios Dell configurera Clock Modulation comme moyen de limiter légèrement les performances pour économiser la batterie. Le problème est que le pilote de redimensionnement de la fréquence du processeur intel_pstate, dans sa forme actuelle, est incompatible avec Clock Modulation. Au lieu de limiter un peu les performances, il pilote la fréquence de la CPU durement au-dessous de sa limite inférieure normale.

La solution suggérée pour vous consiste à désactiver le pilote intel_pstate et à utiliser le pilote de redimensionnement de la fréquence du processeur acpi-cpufreq. Le pilote acpi-cpufreq répond "correctement" à la modulation d'horloge.

Si vous utilisez grub, éditez /etc/default/grub et modifiez la ligne GRUB_CMDLINE_LINUX_DEFAULT. Exemple, où j'ai autre chose sur cette ligne:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable"

Assurez-vous de lancer Sudo update-grub par la suite. Il est également recommandé de sauvegarder une copie du fichier original avant de le modifier. Éditer comme Sudo.

4
Doug Smythies