web-dev-qa-db-fra.com

La fréquence du processeur est toujours au minimum, même si l'utilisation du processeur est de 100%

Je ne sais pas quand ce problème a commencé à se produire, c'est peut-être depuis l'installation de Ubuntu (16.04, version récente). J'observais qu'Ubuntu était inhabituellement lent, que l'environnement était saccadé et que l'utilisation du processeur était élevée même lorsque l'ordinateur était inactif. Au départ, je pensais qu'un programme le ralentissait.

Après un certain temps, j'ai compris la cause, la fréquence du processeur est réglée sur 800 MHz, non-stop, quelles que soient les circonstances. La fréquence maximale est supposée être de 3100 MHz avec Turbo-Boost et 2000 MHz habituellement. J'ai volontairement paramétré l'utilisation du processeur (des 4 threads sur 2 cœurs) à 100% en faisant en sorte que Blender rende certains éléments du processeur, il reste toujours à 800 MHz.

J'ai essayé de définir un profil de performances maximum, mais il reste faible. J'ai testé la température, il semble être à 60 ° C tout le temps, quand 87 ° C est considéré comme élevé et 105 ° C critique. Je suis sous tension tout le temps, la batterie ne semble plus se recharger depuis quelque temps.

Voici ce que cpufreq-info rapporte:

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

Il en va de même pour les 3 autres unités centrales.

C'est ce que rapporte lscpu:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Model name:            Intel(R) Core(TM) i7-3537U CPU @ 2.00GHz
Stepping:              9
CPU MHz:               799.921
CPU max MHz:           3100,0000
CPU min MHz:           800,0000
BogoMIPS:              3990.99
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              4096K
NUMA node0 CPU(s):     0-3
Flags:                 fpu 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 rdtscp lm constant_tsc Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts

En mode d'économie d'énergie, il se comporte de manière identique. Si je débranche le courant alternatif et que je fonctionne sur batterie, la fréquence du processeur monte en flèche à 2800 MHz, il semble donc que le problème ne concerne que le courant alternatif (ce qui est tout le contraire de ce qu'il est censé faire).

J'ai essayé de définir des profils de processeur différents, j'ai essayé de désactiver la mise à l'échelle de la fréquence ( Comment puis-je désactiver la mise à l'échelle de la fréquence du processeur et paramétrer le système sur les performances? ), j'ai essayé de définir scaling_min_freq dans/sys/devices/system/cpu/cpu [0-3]/cpufreq à une valeur plus élevée, mais aucun d’eux n’a rien fait. La fréquence reste minimale.

Le type de processeur est le processeur Intel (R) Core (TM) i7-3537U à 2,00 GHz, l'ordinateur est le Dell Inspiron 15z Touch.

J'ai également un problème avec le chargement de la batterie même si l'ordinateur est alimenté par l'adaptateur secteur.

Plus de diagnostics:

$ Sudo rdmsr --bitfield 15:8 -d -a 0x198
8
8
8
8
$ Sudo rdmsr --bitfield 15:8 -d -a 0x199
9
8
9
9

Dans le cas de 0x199, les numéros 8 et 9 semblent être permutés de façon aléatoire entre des appels consécutifs.

14
Dugi

Il s'est avéré que ce problème n'était pas lié au pilote intel_pstate, car acpi_cpufreq, l'autre pilote, a signalé de meilleures valeurs mais ne les a jamais définies. Le système d'exploitation n'avait probablement aucun contrôle sur cela.

Il s'agit d'un problème qui se produit avec certains ordinateurs portables Dell lorsque le chargement est interrompu de manière à ce qu'il soit alimenté en CA mais non chargé. Résoudre le problème matériel supprime le problème. Dans ce cas, c’était un morceau de tissu presque invisible dans le connecteur d’alimentation qui empêchait le contact électrique.

12
Dugi

J'ai eu le même problème - CPU freq bloqué dans Ubuntu ainsi que Windows, après un arrêt surchauffé dans la mallette de transport avec l'ordinateur portable toujours en marche.

Je suis allé au BIOS, et ai désactivé la gestion de l’énergie du processeur dans "alimentation", et mis tout le reste à fond (performances maximales). Redémarré, revenir à la vitesse maximale, puis revenir au BIOS et réactiver la gestion de l'unité centrale de traitement, et corrigé les autres paramètres que j'avais modifiés auparavant. Et voilà!

EDIT: Il s'avère que c'est un problème de batterie. Si la batterie est vraiment faible, le processeur ne va pas accélérer (je suppose pour économiser de l'énergie). Sur mon bloc-notes, je dois charger la batterie pendant quelques minutes, jusqu'à ce que le voyant de charge arrête de clignoter rapidement AVANT de rallumer la machine.

2
Joerg Baach

Ceci réglera votre vitesse de processeur à la vitesse maximale depuis n'importe quel terminal:

Sudo cpufreq-set -f `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`

Editez le fichier /etc/init.d/ondemand pour l'ajouter définitivement. Ondemand est utilisé pour modifier votre fréquence lors de la connexion. La valeur par défaut est le gouverneur "ondemand". En d'autres termes, vous commencez à 800mhz et montez au besoin.

2
Roger Lawhorn

Parfois, mon ordinateur portable ignore complètement les paramètres cpufreq. J'ai trouvé ça marche:

Débranchez le cordon d'alimentation, puis rebranchez-le. Fixe:)

Je suppose que la raison en est que la machine a été confondue: elle pense être sur batterie, et elle pense que la batterie est faible, afin de ne pas asservir le processeur pour économiser de l'énergie.

Nous devons simplement lui faire savoir qu'il est en fait branché et qu'il va bien.

(Ordinateur portable Asus x453m ici, Ubuntu 14.04) YouTube: Avez-vous essayé de l'éteindre et de le rallumer?

2
joeytwiddle

J'ai eu le même problème avec mon ThinkPad T520. Après avoir essayé toutes les solutions trouvées sur Internet, j'étais prêt à réinstaller Ubuntu. Mais ensuite, j'ai vérifié la fréquence du processeur dans Windows et je l'ai également trouvée limitée à 800 MHz.

Donc, cela ressemblait à un problème matériel. Il n’était pas évident qu’il y ait des problèmes avec le refroidissement du processeur, car les RPM plus froids étaient faibles et la mallette pour ordinateur portable n’était ni chaude ni chaude.

Comme il n’existait pas d’autre option, j’ai désassemblé un ordinateur portable et modifié l’interface thermique des puces CPU et GPU. Et tu sais quoi? Ça m'a aidé!

Les tests unitaires sur l'un de mes Django projets ont pris un temps d'exécution de 45 minutes; maintenant, il s'agit de 11 minutes.

Donc, si vous rencontrez le même problème, en particulier sur un ordinateur portable - probablement à cause de l’interface thermique des supports séchés - au bout de 3 à 5 ans, il cesse souvent de faire son travail. Et ne vous laissez pas berner par le radiateur propre, le refroidisseur silencieux et le boîtier d'ordinateur portable.

0
Igor Pomaranskiy

Solution de contournement

# Determinate CPU capabilities
MAX_CPU=$(cpupower frequency-info -l | tail -n1 | cut -d' ' -f2)

# Disable "BD PROCHOT" 
wrmsr -a 0x1FC 262238;

# Set and apply frequencies
cpupower frequency-set \
  -d $(expr $MAX_CPU / 2) \
  -u $MAX_CPU \
  -r \
  -g performance; 
0
eSlider