3.2. Utilisation des gouverneurs CPUfreq
3.2.1. Types de gouverneurs CPUfreq
Le gouverneur Performance force le CPU à utiliser la plus haute fréquence d'horloge possible. Cette fréquence est statiquement réglée, et ne changera pas. Ainsi, ce gouverneur en particulier n'offre aucune économie d'énergie. Il n'est utile que pour de longues heures de charges de travail intensives, et lorsque le CPU est rarement (ou n'est pas) inactif.
En revanche, le gouverneur Powersave force le CPU à utiliser la plus basse fréquence d'horloge possible. Cette fréquence est réglée statiquement, et ne changera pas. Ainsi, ce gouverneur en particulier offre une économie d'énergie maximale, mais ceci au prix d'une performance de CPU plus basse.
Le gouverneur Ondemand est un gouverneur dynamique qui permet au CPU d'atteindre une fréquence d'horloge maximale lorsque la charge du système est importante, et d'atteindre une fréquence minimale lorsque le système est inactif. Tandis que ceci permet d'ajuster la consommation d'énergie en fonction de la charge du système, cette opération se produit au détriment de la latence entre les changements de fréquences. Ainsi, la latence peut contrebalancer les bénéfices de performance/d'énergie du gouverneur Ondemand si le système change trop souvent entre inactivité et charges de travail intenses.
Le gouverneur Userspace permet aux programmes de l'espace utilisateur (ou à tout autre processus exécuté en tant que root) de définir la fréquence. De tous les gouverneurs, Userspace est le plus personnalisable ; et selon sa configuration, il peut fournir le meilleur équilibre entre performance et consommation pour votre système.
Tout comme le gouverneur Ondemand, le gouverneur Conservative ajuste aussi la fréquence de l'horloge en fonction de l'utilisation (comme le gouverneur Ondemand). Cependant, tandis que gouverneur le fait d'une manière plus aggressive (du maximum au minimum, et vice-versa), le gouverneur Conservative change de fréquence de manière plus graduelle.
Note
cron
. Ceci vous permettra de définir automatiquement des gouverneurs particuliers à des moments spécifiques de la journée. Ainsi, vous pouvez spécifier un gouverneur de basse latence pendant les périodes d'inactivité (par exemple hors des heures de travail traditionnelles), puis retourner à un gouverneur de fréquence plus importante durant les heures de charges de travail plus importantes.
3.2.2. Installation de CPUfreq
cpupower frequency-info --governors
cpupower frequency-set --governor [governor]
-c
en précisant une plage ou une liste séparée par des virgules de numéros de CPU. Par exemple, pour activer le gouverneur Userspace pour les CPUs 1-3 et 5, voici la commande :
cpupower -c 1-3,5 frequency-set --governor cpufreq_userspace
3.2.3. Paramétrer la politique CPUfreq et la vitesse
cpupower frequency-info
, vous pourrez aussi régler la vitesse de chaque processeur plus précisément avec des options pour cpupower frequency-set
.
cpupower frequency-info
, les options suivantes sont disponibles :
--freq
— Affiche la vitesse actuelle du CPU en fonction du cœur de CPUfreq, en KHz.--hwfreq
— Affiche la vitesse actuelle du CPU en fonction du matériel, en KHz (uniquement disponible en tant que root).--driver
— Affiche quel pilote de CPUfreq est utilisé pour paramétrer la fréquence sur ce CPU.--governors
— Affiche les gouverneurs CPUfreq disponibles dans ce noyau. Si vous souhaitez utiliser un gouverneur CPUfreq qui n'est pas listé dans ce fichier, voir Section 3.2.2, « Installation de CPUfreq » pour obtenir des instructions.--affected-cpus
— Répertorie les CPU nécessitant un logiciel de coordination de fréquence.--policy
— Affiche la portée de la stratégie CPUfreq actuelle, en KHz, ainsi que le gouverneur actuellement actif.--hwlimits
— Répertorie les fréquences disponibles pour le CPU, en KHz.
cpupower frequency-set
, les options suivantes sont disponibles :
--min <freq>
et--max <freq>
— Définit les limites de la stratégie du CPU, en KHz.--freq <freq>
— Définit une vitesse d'horloge spécifique pour le CPU, en KHz. Vous pouvez uniquement définir une vitesse située dans les limites de la stratégie du CPU (selon--min
et--max
).--governor <gov>
— Définit un nouveau gouverneur CPUfreq.
Note
/sys/devices/system/cpu/[cpuid]/cpufreq/
. Les paramètres et valeurs peuvent être modifiés en écrivant sur ces réglables. Par exemple, pour définir la vitesse d'horloge minimum du cpu0 sur 360 KHz, veuillez utiliser :
echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq