web-dev-qa-db-fra.com

CPU Turbo boost: modifie la limite de température sous 14.04

J'ai installé kubuntu 14.04, et il y a un problème avec la fréquence turbo du processeur. J'ai beaucoup lu à ce sujet, mais je ne trouve pas la bonne réponse.

Il y a un processeur i7-3630QM à 2,40 GHz avec 3,20 GHz turbo dans mon ordinateur portable Lenovo Y580. Si je mets le processeur à pleine charge (avec rendu dans un mélangeur sur 8 threads), la fréquence passe à environ 3,2 GHz pour tous les cœurs, mais après quelques secondes, lorsque la température augmente, la fréquence diminue à 2,4 GHz et reste activée. pendant le rendu, (le ventilateur ne fonctionne pas à la vitesse maximale).

Lorsque j’ai utilisé Ubuntu 12.10, ce problème n’est pas survenu, mais c’est ce qui se produit dans les versions 13.10 et 14.04.

Mon ordinateur portable est vraiment bien, il n’ya donc pas de problème avec le turbo boost à pleine vitesse (la température du processeur était de 85 à 90 ° C à 3,2 GHz sous Ubuntu 12.10), je souhaite donc l’utiliser à pleine vitesse. Comment puis-je utiliser le processeur avec turbo boost à une vitesse de 3,2 GHz dans Ubuntu 14.04 sans cette limite (de température?)?

(après discussion avec terdon) Je pense que le problème est que la fréquence du processeur est réduite avant que le ventilateur puisse réagir à la température élevée. APRÈS que la vitesse du processeur soit réduite de 3,2 GHz à 2,4 GHz, le ventilateur augmente un instant, mais comme cpufreq est déjà réduit, il génère moins de chaleur et le régime du ventilateur diminue. Ce serait bien si, après le refroidissement du processeur, la fréquence augmente à nouveau à 3,2 GHz, mais elle reste à 2,4 GHz.

Quelques mesures:

Sortie du programme i7z, lorsque le rendu vient de commencer:

 Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 3192.01 MHz [99.75 x 32.00] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       3191.98 (32.00x)       100       0       0       0       0    83                                                                      
        Core 2 [2]:       3192.01 (32.00x)      99.8       0       0       0       1    92                                                                      
        Core 3 [4]:       3192.00 (32.00x)       100       0       0       0       0    88                                                                      
        Core 4 [6]:       3192.00 (32.00x)       100       0       0       0       0    76                                                                      
...

Et 5 à 10 secondes plus tard (également en pleine charge):

Cpu speed from cpuinfo 2394.00Mhz                                                                                                                               
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc                                                                         
Linux's inbuilt cpu_khz code emulated now                                                                                                                       
True Frequency (without accounting Turbo) 2394 MHz                                                                                                              
  CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz                                                                                                    

Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]                                                                                       
  TURBO ENABLED on 4 Cores, Hyper Threading ON                                                                                                                  
  Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])                                                                                            
  Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is  34x/33x/32x/32x                                                                                      
  Real Current Frequency 2462.52 MHz [99.75 x 24.69] (Max of below)                                                                                             
        Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %   C7 %  Temp                                                                     
        Core 1 [0]:       2394.01 (24.00x)       100       0       0       0       0    65                                                                      
        Core 2 [2]:       2394.00 (24.00x)       100       0       0       0       0    74                                                                      
        Core 3 [4]:       2462.43 (24.69x)       100       0       0       0       0    71                                                                      
        Core 4 [6]:       2462.52 (24.69x)      99.9       0       0       0       0    61        
...

Merci d'avance pour les réponses.

4
liszi

Après de longues recherches, je trouve la réponse à ma question sur cette page: http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html

L'ancien acpi-cpufreq ne peut pas bien contrôler le turbo boost, mais intel_pstate pilote et thermald peuvent le faire. J'ai activé intel_pstate et installé thermald. Maintenant, cpu peut fonctionner en mode turbo boost, sur 3,2 GHz presque en continu. Cela signifie environ 25-30% de performances supplémentaires lors du rendu dans le mélangeur.

Malheureusement, cela signifie également plus de chaleur. La température centrale de mon processeur varie donc de 90 à 100 ° C et s’étouffe parfois elle-même. Alors tredon tu avais raison, je devrais nettoyer le ventilateur. :)

Sur la page Intel, la température de jonction de mon processeur est supérieure à 105 ° C. La régulation thermique est activée. Je n'ai donc pas à craindre une surchauffe du processeur.

Malheureusement, je ne trouve aucun exemple utile pour configurer et utiliser thermald, alors je laisse les options par défaut, mais si je lisais, cela pourrait beaucoup aider à refroidir.

4
liszi

Ce n'est pas un bug, c'est une fonctionnalité! Vérifiez vos températures. La seule raison pour laquelle la vitesse du processeur est réduite est la surchauffe. Regardez la première sortie que vous montrez, vous avez l'un de vos noyaux fonctionnant à 92 ° C! C'est assez chaud au début et c'est probablement allé encore plus haut avant que votre vitesse d'horloge ait été réduite.

Vous pouvez vérifier la température maximale que votre processeur peut gérer avec en exécutant sensors . Par exemple, pour mon Intel i7:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +77.0°C  (high = +95.0°C, crit = +105.0°C)
Core 2:       +79.0°C  (high = +95.0°C, crit = +105.0°C)

Donc, sur ma machine, 95,0 ° C est considéré comme élevé et 105 ° C est la température critique à laquelle la machine sera arrêtée. Vos spécifications pourraient être un peu différentes, mais 92.0 ° C est certainement élevé.

Maintenant, vous pouvez forcer votre processeur à conserver la même vitesse d'horloge. Ceci est contrôlé par le gouverneur de la CPU. Vous l'avez probablement réglé sur ondemand, mais les options suivantes sont disponibles:

  • Performance maintient le processeur à la fréquence la plus élevée possible
  • Powersave maintient le processeur à la fréquence la plus basse possible
  • Userspace exporte les informations de fréquence disponibles au niveau utilisateur (via le système de fichiers/sys) et permet de contrôler l'espace utilisateur de la fréquence du processeur.
  • Ondemand adapte les fréquences du processeur en fonction de l'utilisation de celui-ci (comme le font les démons de redimensionnement de l'espace utilisateur, mais dans le noyau)
  • Conservateur agit comme un ondemand mais augmente la fréquence pas à pas

Pour changer votre gouverneur en, par exemple, "Performance", lancez ceci:

echo "performance" | Sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Cependant, le résultat probable sera simplement que votre ordinateur s'éteindra lorsque les températures élevées seront atteintes. Il se peut également que la taille soit réduite, mais je ne sais pas comment les fonctions de sécurité sont mises en œuvre. Dans tous les cas, le point principal est que vous ne voulez pas le faire car cela pourrait sérieusement endommager votre matériel .

Il y a de très bonnes raisons pour que votre ordinateur ne vous laisse pas dépasser certaines températures et vous ne voulez pas vous tromper. Je ne connais aucun moyen de désactiver la limite de température et je ne vous le dirais pas si je le faisais. Il existe des moyens plus simples, mais désactiver les limites de sécurité thermique est certainement un bon moyen de détruire votre ordinateur.

5
terdon