web-dev-qa-db-fra.com

Ubuntu est très lent lorsque Intel SpeedStep est activé (le processeur n’est pas utilisé à pleine vitesse)

J'ai un ordinateur portable Dell avec processeur i7 et Ubuntu 14.10. Lorsque je désactive SpeedStep dans mon BIOS, mon ordinateur est très rapide mais le ventilateur fonctionne très souvent et la batterie se vide rapidement.

Lorsque j'active SpeedStep, Ubuntu devient très lent. J'ai essayé de passer du gouverneur à la performance sans aucun effet.

C'est ce que montre cpufreq-info pour les 7 processeurs:

analyzing CPU 7:
driver: intel_pstate
CPUs which run at the same hardware frequency: 7
CPUs which need to have their frequency coordinated by software: 7
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.70 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 3.70 GHz and 3.70 GHz.
              The governor "performance" may decide which speed to use
              within this range.
current CPU frequency is 1.17 GHz.

Chose étrange, la fréquence ne dépasse jamais 1,2 GHz. J'ai essayé de démarrer Firefox ou de compiler un gros projet.

Voici la sortie de lshw liée à la CPU:

 *-cpu
      description: CPU
      product: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
      vendor: Intel Corp.
      physical id: 43
      bus info: cpu@0
      version: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
      slot: SOCKET 0
      size: 3581MHz
      capacity: 3581MHz
      width: 64 bits
      clock: 100MHz
      capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cpufreq
      configuration: cores=4 enabledcores=4 threads=8

J'ai eu ce problème après la mise à niveau d'Ubuntu 14.04 à 14.10.

Alors, comment faire en sorte que Ubuntu 14.10 utilise mon processeur à pleine vitesse en cas de besoin?

Mise à jour: Après avoir désactivé intel_pstate, tous les processeurs fonctionnent à 800 MHz, quoi que je fasse. Changer de gouverneur par applet ou par ligne de commande n'a aucun effet.

Mise à jour: Après l'installation de cpufreqd, /var/log/syslog obtient ces messages en boucle:

Mar  3 13:00:03 scala cpufreqd: cpufreqd_set_profile     : Couldn't set profile "Performance High" set for cpu0 (2700000-2700000-performance)
Mar  3 13:00:03 scala cpufreqd: cpufreqd_loop            : Cannot set policy, Rule unchanged ("none").

Mise à jour:cat /sys/devices/system/cpu/cpu*/cpufreq/bios_limit imprime 800000 (800 MHz) pour tous les processeurs. D'où vient cette limite? Comment l'augmenter?

4
Witek

Cette réponse s'applique à la raison nouvellement découverte par le BIOS limitant la fréquence du processeur.

Veuillez vérifier l'état de votre adaptateur secteur et de votre batterie. Fonctionnent-ils normalement? La batterie se charge-t-elle normalement? Est-ce que l'ordinateur portable fonctionne O.K. sur batterie seulement?

En règle générale, le bios Dell impose une faible fréquence du processeur en cas de problème d'alimentation et/ou s'il ne reconnaît plus l'adaptateur secteur.

Il existe un moyen de contourner l'inclusion de/sys/devices/system/cpu/cpu */cpufreq/bios_limit, mais cela ne devrait être fait qu'en dernier recours et en sachant clairement que le niveau de protection le plus bas est appliqué. désactivé. Alors n'y allons pas encore.

12
Doug Smythies

Pour la fréquence d'horloge du processeur, 14.04 utilisait le pilote acpi-cpufreq par défaut et 14.10 utilisait le pilote intel_pstate par défaut. Il y a des rapports de problèmes similaires à ce que vous rencontrez.

En guise de test, essayez de revenir au pilote acpi-cpufreq. Enregistrez une copie de votre fichier/etc/default/grub, au cas où:

Sudo cp /etc/default/grub /etc/default/grub.original

Éditez, en tant que Sudo, votre fichier/etc/default/grub et ajoutez ce paramètre à la ligne GRUB_CMDLINE_LINUX_DEFAULT:

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

S'il existe déjà d'autres paramètres sur cette ligne, ajoutez le nouveau. Exemple:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable crashkernel=384M-:128M"

Après avoir sauvegardé le fichier, mettez à jour grub:

Sudo update-grub

Redémarrez l'ordinateur.

Vous pouvez également vérifier si Thermald fonctionne:

Sudo service thermald status

Et si oui, et juste pour un test rapide, désactivez-le (Notez que vous devez surveiller la température lorsque thermald est désactivé):

Sudo service thermald stop

Si vous avez alors la possibilité que la fréquence du processeur augmente sous une charge importante, il est probable que votre fichier /etc/thermald/thermal-conf.xml ne fonctionne pas.

2
Doug Smythies