Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:naziel:gestion_energie_processeur [Le 03/01/2019, 19:43]
naziel
utilisateurs:naziel:gestion_energie_processeur [Le 20/02/2023, 21:59] (Version actuelle)
moths-art correctif <code> auto via wiki-corrector https://forum.ubuntu-fr.org/viewtopic.php?id=2067892
Ligne 25: Ligne 25:
 La commande La commande
 <code bash>​cpupower idle-info</​code>​ <code bash>​cpupower idle-info</​code>​
-permet de lister les C-states compatibles avec le processeur. ​+permet de lister les C-states compatibles avec le processeur. 
 + 
 +Par exemple, sur un processeur Intel Core i5 4210U, voici les C-states: 
 +<code bash>​CPUidle driver: intel_idle 
 +CPUidle governor: menu 
 +analyzing CPU 0: 
 + 
 +Number of idle states: 9 
 +Available idle states: POLL C1 C1E C3 C6 C7s C8 C9 C10 
 +POLL: 
 +Flags/​Description:​ CPUIDLE CORE POLL IDLE 
 +Latency: 0 
 +Usage: 33293 
 +Duration: 3698149 
 +C1: 
 +Flags/​Description:​ MWAIT 0x00 
 +Latency: 2 
 +Usage: 10487775 
 +Duration: 3916810744 
 +C1E: 
 +Flags/​Description:​ MWAIT 0x01 
 +Latency: 10 
 +Usage: 11362373 
 +Duration: 2533863708 
 +C3: 
 +Flags/​Description:​ MWAIT 0x10 
 +Latency: 33 
 +Usage: 6611768 
 +Duration: 2724211142 
 +C6: 
 +Flags/​Description:​ MWAIT 0x20 
 +Latency: 133 
 +Usage: 1759894 
 +Duration: 1052846310 
 +C7s: 
 +Flags/​Description:​ MWAIT 0x32 
 +Latency: 166 
 +Usage: 4240156 
 +Duration: 3148722366 
 +C8: 
 +Flags/​Description:​ MWAIT 0x40 
 +Latency: 300 
 +Usage: 3673897 
 +Duration: 4457909063 
 +C9: 
 +Flags/​Description:​ MWAIT 0x50 
 +Latency: 600 
 +Usage: 2747610 
 +Duration: 7647149692 
 +C10: 
 +Flags/​Description:​ MWAIT 0x60 
 +Latency: 2600 
 +Usage: 635019 
 +Duration: 11682828891</​code>​ 
 POLL correspond à un processeur totalement actif, et plus on avance dans les C-states, plus le processeur est partiellement en veille. POLL correspond à un processeur totalement actif, et plus on avance dans les C-states, plus le processeur est partiellement en veille.
 On fait correspondre la valeur 0 à POLL, 1 au premier C-state, ... On fait correspondre la valeur 0 à POLL, 1 au premier C-state, ...
  
-<note important>​Il est contre-productif de chercher à n'​être que sur POLL</​note>​+<note important>​Il est contre-productif de chercher à n'​être que sur POLL: le pc consommera plus d'​énergie et il chauffera plus!</​note>​ 
 + 
 +Afin de voir l'​utilisation des C-states, on passe la commande 
 +<code bash>​cpupower monitor</​code>​ 
 +ce qui permet de déduire les C-states qui pourraient poser problème.
  
 Afin de bloquer logiciellement les C-states, deux paramètres à passer à Grub sont importants ici: Afin de bloquer logiciellement les C-states, deux paramètres à passer à Grub sont importants ici:
   * intel_idle.max_cstate=N   * intel_idle.max_cstate=N
   * processor.max_cstate=N   * processor.max_cstate=N
-où N est à remplacer par le numéro au dernier C-state qui peut être utilisé. ​+où N est à remplacer par le numéro au dernier C-state qui peut être utilisé. ​Le premier paramètre est souvent suffisant. \\
 Si par exemple le 4ème C-state est mal géré par le noyau Linux et que les 3 premiers ne posent pas problème, alors on remplace N par 3 pour éviter les gels. Si par exemple le 4ème C-state est mal géré par le noyau Linux et que les 3 premiers ne posent pas problème, alors on remplace N par 3 pour éviter les gels.
  
 +Si vraiment aucun C-state à part POLL est correctement géré, passer le paramètre intel_idle.max_cstate=0 ne suffira pas, passer en plus idle=poll permettra de n'​utiliser que POLL, __mais cela n'est pas recommandé__!
  
-En règle générale, sur des processeurs Intel Bay Trail, le paramètre intel_idle.max_cstate=1 suffit à empêcher les gels.+<​note>​En règle générale, sur des processeurs Intel Bay Trail, le paramètre intel_idle.max_cstate=1 suffit à empêcher les gels.</​note>​
  
 +===== Gestion avancée des C-states =====
  
 +Il arrive que seul le Nième C-state pose problème. Dans ce cas, au lieu de se limiter aux N-1 C-states précédents,​ on peut chercher à désactiver logiciellement le C-state qui pose problème. Pour cela, on utilise la commande
 +<code bash>​sudo cpupower idle-set -d N</​code>​
 +où N est à remplacer par le C-state qui pose problème.
 +On peut aussi chercher à empêcher logiciellement d'​utiliser un C-state sur un coeur en particulier avec le paramètre -c .
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • utilisateurs/naziel/gestion_energie_processeur.1546540999.txt.gz
  • Dernière modification: Le 03/01/2019, 19:43
  • par naziel