Différences
Ci-dessous, les différences entre deux révisions de la page.
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, 22:58] naziel ajout § Gestion avancée des C-states |
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, ... | ||
Ligne 38: | Ligne 92: | ||
* 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. | ||
Ligne 48: | Ligne 102: | ||
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 | 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> | + | <code bash>sudo cpupower idle-set -d N</code> |
où N est à remplacer par le C-state qui pose problème. | 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 . | On peut aussi chercher à empêcher logiciellement d'utiliser un C-state sur un coeur en particulier avec le paramètre -c . |