PLF Nicolarius
Un processeur

Gérer son processeur avec CPUFREQ

Vous avez un portable et vous souhaitez mieux gérer la consommation d'énergie de votre processeur. En effet, la plupart du temps, les noyaux des distributions sont configurés pour faire tourner les processeurs à leur vitesse maximale. Smiley L'ennui c'est que la consommation d'énergie et donc l'autonomie d'un portable est considérablement réduite. En outre la température en permanence élevée réduit la durée de vie du matériel et le bruit des ventilateurs. Smiley Il est donc sage de gérer les profils de performance de son processeur. Globalement votre système ne souffrira d'aucune perte de performance mais le processeur ralentira quand même sa cadence lorsqu'il n'a pas besoin d'être solicité à son maximum.

CPUFREQ est en fait un pilote (driver) directement dans votre noyau Linux. Il est généralement compilé sous forme de module avec le noyau de votre distribution. Dans un premier temps, nous allons voir quels utilitaires nous permettent de communiquer avec ce module du kernel Linux. Ensuite nous verrons quels sont les différents profils de performances et comment pouvoir jongler automatiquement ou manuellement entre eux afin d'améliorer la gestion de son processeur. Smiley

Dans le noyau Linux

Avant de se lancer dans quoi que ce soit, vérifions bien que nous avons les modules noyau nécessaires. L'un des modules indispensable est freq_table. Pour vérifier sa présence chargé ou non, tapez en root la commande suivante:

modinfo freq_table

Si le shell vous affiche des informations sur le module et non le message modinfo: could not find module freq_table, soyez heureux! Le module est présent dans votre noyau et vous avez sans doute tous les autres modules pour pouvoir assurer la configuration de votre processeur! Smiley
Si vous n'avez pas cette chance, vous allez malheureusement devoir recompiler votre noyau. Smiley Cette méthode bien spécifique n'est pas décrite dans ce tutoriel.

Installation des utilitaires

Pour commencer il vous faut le librairie permettant de communiquer avec le module du noyau. Sous Debian, cette librairie est le paquetage libcpufreq0 et s'installe via la commande:

apt-get install libcpufreq0

Pour les autres distributions, le nom du paquet peut varier légèrement (il se peut que ce ne soit pas libcpufreq0 mais un autre numéro...). Dans tous les cas il y a forcément une librairie permettant de dialoguer avec CPUFREQ. Smiley

Après avoir installé cette librairie, les divers utilitaires qui existent vont pouvoir utiliser le module du noyau. Parmis ceux-ci on peut compter cpufreqd, cpufrequtils, kpowersave, powernowd ou klaptopdaemon. On compte bon nombre d'utilitaires pour tous les goûts. De la console aux couleurs épurées de KDE, GNOME et XFCE, chacun peut trouver sa manière pour gérer son processeur. Smiley

Lancement des modules

Après avoir installé cpufrequtils vous allez maintenant pouvoir configurer les options par défaut de vos modules CPUFREQ. Pour ça il faut aller chercher dans le fichier de configuration /etc/modules où sont répertoriés les noms des modules à lancer par le kernel Linux. Il vous faudra y inscrire les noms suivants (un module par ligne):

Ajouté à cette liste il y aura le module spécifique de votre processeur. Je vais dresser une liste des noms de module des processeur et les nommer. Smiley

Processeurs d'AMD
ProcesseursNom du module
Mobile K6-2/K6-3powernow-k6
Mobile Duron/Athlonpowernow-k7
Opteron/Athlon 64/Athlon 64 X2powernow-k8

Processeurs d'Intel
ProcesseursNom du module
Mobile Pentium III et Pentium IVspeedstep-ich ou speedstep-smi
Pentium IV et Xeonp4-clockmod
Centrino, Xeon et nouveaux processeursacpi-cpufreq

Notez que vous pouvez aussi assurer le support de votre bus nVidia nForce2 via le module cpufreq-nforce2 et permettre les changements de fréquence! Smiley Si votre processeur est supporté par deux modules différents indiquez les deux. Le module le plus approprié sera utilisé automatiquement.

Les gouverneurs

L'élément le plus important de CPUFREQ est sans doute la possibilité d'utiliser des gouverneurs pour la fréquence du processeur. Chaque gouverneur gère différement la fréquence du processeur. Je vais vous lister les différents gouverneurs pour que vous ayez une idée de celui ou de ceux que vous utiliserez.

Gouverneurs CPUFREQ
Nom du gouverneurPolitique de gestion
performanceC'est la politique par défaut, le processeur tourne en permanence au maximum de sa cadence et est capable de fournir une puissance de calcul maximale en peu de temps.
ondemandLe gouverneur le plus employé, il permet de réduire la lentement la fréquence si le processeur lorsqu'il n'est pas utilisé et lors d'une demande même faible, la cadence est brusquement relevée au maximum pour assurer la tâche au plus vite.
conservativeIntermédiaire entre ondemand et powersave, il n'applique pas tout de suite la fréquence maximale pour assurer les tâches mais monte par pallier.
powersaveFréquence au minimum.
userspaceGestion manuelle de la fréquence du processeur.

Choisissez bien votre gouverneur par défaut. En général les PC de bureau utilisent un gouverneur de type ondemand et les ordinateurs portables un conservative. Vous pouvez toujours être en dehors de la tendance, mon ordinateur portable utilise un gouverneur ondemand lorsqu'il est sur secteur puis un conservative pour ses déplacements sur batterie. Smiley

Les utilitaires

Vous allez devoir installer cpufrequtils qui est un utilitaire console. Il a l'avantage de pouvoir paramétrer le lancement des modules du noyau et de fonctionner dans n'importe quel environement (du KDE graphique aux tréfonds de la console). Je vous laisse le soin d'installer le paquet. Son nom est cpufrequtils pour les distributions Debian et Ubuntu mais ne doit guère varier pour les autres. Smiley

Le fichier de configuration de cpufrequtils se trouve (comme beaucoup d'autres) dans le répertoire /etc/default/. Allez y jeter un oeil. Le fichier s'appelle cpufrequtils. Si vous ne savez pas comment éditer ce fichier, je vous recommande d'utiliser nano en root:

nano /etc/default/cpufrequtils. Vous devriez vous heurter à un fichier de ce type. Smiley

Fichier de configuration de CPUFREQ

C'est ici que l'on règle la configuration par défaut de cpufrequtils. Mettez la valeur true en face de ENABLE pour faire en sorte que le script se lance à chaque démarrage de la machine. La ligne du dessous vous permet de spécifier le gouverneur par défaut. Une liste des gouverneurs est disponible plus haut sur cette page. Smiley Il s'agit de la politique de gestion du processeur: l'élément clé de l'opération! Vous pouvez spécifier le gouverneur par défaut qui sera utilisé au démarrage.

Les deux options suivantes permettent de spécifier un minimum et un maximum de fréquence du processeur. La fréquence s'indique en Hertz. Ainsi, si vous voulez que votre processeur tourne au maximum à 1,4 Ghz, vous spécifierez la valeur 1400000 à l'option MAX_SPEED. l'autre option MIN_SPEED sert principalement avec le gouverneur powersave lorsque vous voulez garder des performances correctes mais pas maximales.

Sommaire des tutoriels

Retour en haut de la page Retour à l'accueil
Ce site utilise du PHP Ce site utilise une base de données MySQL Site écrit sous Debian Site écrit avec Quanta+ Site uploadé avec gFTP Site écrit sous GNU/Linux Site au design fait avec Gimp Site officiel de WoW Casio
Affichage optimal sur les navigateurs de type Mozilla Firefox - 2006 - 2014 - PLF-Nicolarius