Linux Optimiser
cpufrequtils
Changer automatiquement la fréquence de votre processeur



Pour : Linux


Ce logiciel va nous permet de configurer la fréquence du processeur dans le but de consommer moins d'énergie (pratique pour prolonger la batterie des ordinateurs portables), de faire moins chauffer votre processeur et en plus diminuer la vitesse du ventilateur pour gagner en silence.



Sommaire
1- Prérequis
2- Installation
3- Identifier le module adéquat pour son CPU
4- Charger manuellement les modules
5- Les différents mode de modulation de la fréquence CPU
6- Configuration manuelle
7- Configuration avec les outils "cpufreq-info" et "cpufreq-set"
8- Charger les modules au démarrage
9- Charger la configuration du processeur au démarrage
10- Pourquoi mes paramètres ne marche pas au démarrage?



1- Prérequis

Vérifiez dans votre BIOS que l'option:
- Cool'n'Quiet soit activé pour un processeur AMD
- SpeedStep soit activé pour un processeur Intel
Parfois le nom de l'option peur varier un peut, voir la documentation de votre carte mère.



2- Installation

On installe les paquets "cpufrequtils" et "powernowd".

apt-get install powernowd cpufrequtils





3- Identifier le module adéquat pour son CPU

Pour connaître les caractéristiques de votre processeur tapez ceci:

cat /proc/cpuinfo



Il existe plusieurs modules de modulation de fréquence selon les processeurs :
p4-clockmod => Module pour les processeurs Intel Pentium 4 et pour les Intel Celeron M
speedstep-centrino => Module pour les processeurs Intel Pentium M/Core Duo/Core 2 Duo
powernow_k6 => Module pour l'architecture K6 des processeurs AMD K2
powernow-k7 => Module pour l'architecture K7 des processeurs AMD Sempron/Athlon/MP
powernow-k8 => Module pour l'architecture K8 des processeurs AMD Duron/Sempron/Athlon/Phenom II/Opteron 64
acpi-cpufreq => Un pilote générique compatible avec plusieurs architectures de processeurs



4- Charger manuellement les modules

On va charger tout les modules necessaire:

modprobe cpufreq_conservative modprobe cpufreq_ondemand modprobe cpufreq_powersave modprobe cpufreq_stats modprobe cpufreq_userspace



Puis le module de votre CPU

modprobe le_module_de_votre_processeur





5- Les différents mode de modulation de la fréquence CPU

Il y à cinq modes de modulation (conservative, ondemand, performance, powersave et userspace) que l'on appelle gouverneurs.
Ils permêttent de changer la fréquence du CPU selon la charge d'utilisation.

Voyont les différents gouverneurs en détails:
userspace => Utilise la frequence prédéfinie par l'utilisateur
powersave => Utilise la fréquence minimum du CPU
performance => Utilise la fréquence maximum du CPU
ondemand => Utilise la fréquence minimale puis augmente au maximum dès que la charge processeur atteint 100% de la fréquence minimale
conservative => Utilise le même principe que "ondemand" mais augmente progressivement par l'utilisation de fréquence intermédiaire avant de tourner au maximum



6- Configuration manuelle

Chaque processeurs (ou coeurs) possède un répertoire avec ses propre fichiers de configuration.
Les fichiers de configurations de chaque "cores" ce trouve dans:

/sys/devices/system/cpu/cpuX/cpufreq/


Ou "X" représente le numéro du coeur conserné (Si votre processeur possède plusieurs coeurs).
A noter que par exemple pour un processeur double coeurs, le premier coeur est "cpu0" et le deuxième coeur est "cpu1".


ATTENTION: Pour configurer correctement votre processeur pensez à appliquer les paramètres sur chaques coeurs (ex: cpu0 puis sur cpu1 ...).


Dans le dossier d'un coeur ont trouve plusieurs fichier contenant chacun d'eux un paramètre de configuration.
Pour voir leur contenu, il suffit d'utiliser la commande "cat" suivie du nom de fichier ou bien d'utiliser "vi" ou "nano".

Voici le détail de ces fichiers de configuration:
scaling_cur_freq => Contient la fréquence courante de votre processeur
scaling_driver => Contient le nom du pilote utilisé par le processeur
scaling_min_freq => Contient la fréquence minimum de votre processeur
scaling_governor => Contient le gouverneur en cour d'exécution
scaling_max_freq => Contient la fréquence maximum de votre processeur
related_cpus => Pour afficher le nombre de CPU (Nombre de coeurs)
scaling_available_frequencies => Contient la liste des fréquences possibles
scaling_available_governors => Contient la liste des gouverneurs disponibles

Et ces fichiers permêttent d'accéder à des informations:
cpuinfo_cur_freq => Affiche la fréquence actuelle de votre processeur (ex: 3000000 = 3GHz)
cpuinfo_min_freq => Affiche la fréquence minimum de votre processeur
cpuinfo_max_freq => Affiche la fréquence maximum de votre processeur

Pour changer un paramètre dans un fichier, on va utiliser la syntaxe suivante avec la commande "echo":

echo [paramètres] > [adresse_du_fichier_de_configuration]



Exemple:
Par exemple on va changer de gouverneur pour utiliser le mode "ondemand".
Pour celà on va utiliser la commande "echo" suivie du mode que l'on va écrire dans le fichier "scaling_governor".

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor



Après par exemple, on va changer la fréquence minimal qui est dans mon cas 375Mhz pour 500MHz.
On va donc utiliser la commande suivante:

echo 500000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq



Et mêttre la fréquence maximal à 800MHz:

echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq



Maintenant on vérifie que les fréquences minimal, maximal et courante on bien changé en affichant le contenu de ces fichier:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq





7- Configuration avec les outils "cpufreq-info" et "cpufreq-set"

Une fois installé, le paquet cpufrequtils vous donne accès à deux commandes :
La commande "cpufreq-info" vous permet d'afficher l'état actuel du CPU.

# cpufreq-info cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009 Veuillez rapportez les erreurs et les bogues à cpufreq@vger.kernel.org, s'il vous plait. analyse du CPU 0 : pilote : p4-clockmod CPUs which run at the same hardware frequency: 0 1 CPUs which need to have their frequency coordinated by software: 0 1 maximum transition latency: 10.00 ms. limitation matérielle : 375 MHz - 3.00 GHz plage de fréquence : 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz régulateurs disponibles : conservative, ondemand, userspace, powersave, performance tactique actuelle : la fréquence doit être comprise entre 375 MHz et 3.00 GHz. Le régulateur "performance" est libre de choisir la vitesse dans cette plage de fréquences. la fréquence actuelle de ce CPU est 3000 MHz (vérifié par un appel direct du matériel). des statistique concernant cpufreq:375 MHz:0,00%, 750 MHz:0,00%, 1.13 GHz:0,00%, 1.50 GHz:0,00%, 1.88 GHz:0,00%, 2.25 GHz:0,00%, 2.63 GHz:0,00%, 3.00 GHz:100,00% (1) analyse du CPU 1 : pilote : p4-clockmod CPUs which run at the same hardware frequency: 0 1 CPUs which need to have their frequency coordinated by software: 0 1 maximum transition latency: 10.00 ms. limitation matérielle : 375 MHz - 3.00 GHz plage de fréquence : 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz régulateurs disponibles : conservative, ondemand, userspace, powersave, performance tactique actuelle : la fréquence doit être comprise entre 375 MHz et 3.00 GHz. Le régulateur "performance" est libre de choisir la vitesse dans cette plage de fréquences. la fréquence actuelle de ce CPU est 3000 MHz (vérifié par un appel direct du matériel). des statistique concernant cpufreq:375 MHz:0,00%, 750 MHz:0,00%, 1.13 GHz:0,00%, 1.50 GHz:0,00%, 1.88 GHz:0,00%, 2.25 GHz:0,00%, 2.63 GHz:0,00%, 3.00 GHz:100,00% (1) # Vous pouvez voir que ces lignes nous montres les différentes fréquences possibles ainsi que les modes gouverneurs supportés. plage de fréquence : 375 MHz, 750 MHz, 1.13 GHz, 1.50 GHz, 1.88 GHz, 2.25 GHz, 2.63 GHz, 3.00 GHz régulateurs disponibles : conservative, ondemand, userspace, powersave, performance Et ces deux lignes nous indique la configuration actuel, le mode performance est utilisé sur une fréquence de 3000 MHz. Le régulateur "performance" est libre de choisir la vitesse la fréquence actuelle de ce CPU est 3000 MHz (vérifié par un appel direct du matériel).



Et la deuxième commande "cpufreq-set" qui va nous permettent de changer la fréquence et/ou de mode gouverneur.

Exemple:
Pour mettre le processeur en mode "powersave"

cpufreq-set -g powersave



On peut aussi configurer individuellement le mode de chaque coeurs du processeur.
Par exemple on va mettre le cpu0 en mode performance avec une fréquence maximale de 1,0GHz:

cpufreq-set -c 0 -g performance -u 1000000


Et on va mettre le deuxième coeur sur le mode "ondemand":

cpufreq-set -c 1 -g ondemand



Pour connaître plus de détail sur la commande:

man cpufreq-set





8- Charger les modules au démarrage

Pour automatiser le chargement des modules au démarrage de la machine, on va editer le fichier "/etc/modules":

nano /etc/modules



Puis on va rajouter le nom des modules à charger dans ce fichier:

cpufreq_conservative cpufreq_ondemand cpufreq_powersave cpufreq_stats cpufreq_userspace le_nom_du_pilote_de_votre_CPU





9- Charger la configuration du processeur au démarrage

On va installer le paquet "sysfsutils" pour mémoriser les paramètres à charger au lancement de votre PC.
Pour installer "sysfsutils":

apt-get install sysfsutils



On édite le fichier de configuration:

nano /etc/sysfs.conf



A l'intérieur rajoutez les paramètres de configuration à charger automatiquement.
Pensez toujours à ajouter une ligne pour chaque processeur (coeurs).

devices/system/cpu/cpu0/cpufreq/scaling_governor = nom_du_gouverneur devices/system/cpu/cpu1/cpufreq/scaling_governor = nom_du_gouverneur





10- Pourquoi mes paramètres ne marche pas au démarrage?

Attention sous certains système comme Ubuntu, un script au démarrage lance le gouverneur "ondemand".
Voici la commande pour arrêter le lancement de ce script au démarrage:

mv /etc/rc0.d/S99ondemand /etc/rc0.d/K99ondemand





Par O.Cédric
Sur www.octetmalin.net

Article publié le:
06/02/2012 17:20





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.