L'une des manières les plus efficaces de réduire la consommation d'énergie et la sortie de chaleur sur votre système est d'utiliser CPUfreq. CPUfreq — aussi connu sous le nom de mise à l'échelle de la vitesse du CPU — permet d'ajuster la vitesse d'horloge du processeur spontanément. Ceci permet au système de fonctionner à une vitesse d'horloge réduite afin d'économiser de l'énergie. Les règles pour les changements de fréquences, que ce soit vers une vitesse d'horloge plus ou moins élevée, ou à quel moment les changer, sont définies par le gouverneur CPUfreq.
Le gouverneur définit les caractéristiques du CPU du système, qui elles-mêmes affecteront la performance du CPU. Chaque gouverneur possède son propre comportement, but, et sa propre pertinence en termes de charge de travail. Cette section décrit comment choisir et configurer un gouverneur CPUfreq, les caractéristiques de chaque gouverneur, et le type de charge de travail que chaque gouverneur peut effectuer.
En tant que règle, la baisse de consommation d'énergie d'un composant spécifique (ou du système en tant que tout) conduira à une baisse de chaleur et naturellement, de performance. Ainsi, vous devriez étudier et tester minutieusement les baisses de performance occasionnées par les configurations que vous faites, particulièrement pour les systèmes de missions critiques.
Les sections suivantes expliquent en quoi une performance optimale du matériel peut bénéficier à votre système en termes de consommation d'énergie.
3.2.1. Types de gouverneurs CPUfreq
Cette section liste et décrit les différents types de gouverneurs CPUfreq disponibles dans Red Hat Enterprise Linux 6.
cpufreq_performance
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.
cpufreq_powersave
Parcontre, 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 terme "powersave" peut parfois prêter à confusion, puisqu'un CPU lent (en principe) sur une charge pleine consomme plus d'énergie qu'un processeur rapide qui n'est pas chargé. Ainsi, alors qu'il est recommandé de paramétrer le CPU pour qu'il utilise le gouverneur Powersave lors de périodes d'activité restreintes, toute charge de travail lourde à ce moment peut causer au système de consommer plus d'énergie.
Le gouverneur Powersave est, en d'autres termes, plus un « limiteur de vitesse » qu'un « économiseur d'énergie ». Il est particulièrement utile pour des systèmes et environnements dans lesquels une surchauffe pourrait être un problème.
cpufreq_ondemand
Le gouverneur Ondemand est un gouverneur dynamique qui permet au CPU d'atteindre une fréquence d'horloge maximalelorsque 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.
Pour la plupart des systèmes, le gouverneur Ondemand peut fournir le meilleur compromis qui soit entre émissions de chaleur, consommation d'énergie, performance, et manageabilité. Lorsque le système est uniquement occupé à certains moments spécifique de la journée, le gouverneur Ondemand changera automatiquement entre les fréquences maximale et minimale en fonction de la charge et sans la moindre autre intervention.
cpufreq_userspace
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. Ce gouverneur est normalement utilisé avec le démon cpuspeed
. 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.
cpufreq_conservative
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.
Ceci signifie que plutôt que de simplement choisir entre maximum et minimum, le gouverneur Conservative s'ajustera à une fréquence d'horloge qu'il reconnaitra appropriée en fonction de la charge. Alors que ceci peut offrir d'importantes économies d'énergie, cette opération est effectuée aux dépend d'une latence bien plus élevée que celle du gouverneur Ondemand.
Vous pouvez activer un gouverneur à l'aide des tâches cron
. Ceci vous permettra de définir automatiquement des gouverneurs particuliers à des moments spécifique 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.