Wiki

Outils pour utilisateurs

Outils du site


gestion_dynamique_frequences_cpu

Gestion dynamique frequences cpu

Retour aux Tutoriaux

J'utilise une distribution Gentoo, il y a quelques commandes qui sont typique à celle-ci mais ce tuto est facilement adaptable pour d'autre distributions. J'utilises un noyau 2.6.15 et je compile tous mes pilotes en dur et non en module et j'ai un Atlon64 donc certaines options auront un nom légèrement différent, pour finir cela fonctionne très bien sur les Cpu multicores Les commandes Gentoo seront signalées par

La manipulation que je vais vous décrire permet de faire varier la vitesse de votre CPU selon la charge, quand il n'a rien à faire il tourne au minimum, c'est pas mal pour la température du processeur et faire baisser sa facture d'électricité :-)

Elle a aussi un autre avantage elle n'a pas besoin de démon pour fonctionner.

En premier il faut configurer le noyau :

se rendre dans le menu:

“Processor type and features —>” “++Power management options —>++” “Bus options (PCI etc.) —>”

Ensuite:

“— Power Management support” “[*] Legacy Power Management API “[ ] Power Management Debug Support” “ ACPI (Advanced Configuration and Power Interface) Support —>” “++ CPU Frequency scaling —>++”

Nous voila enfin dans le menu qui nous interesse:

“++[*] CPU Frequency scaling ←- Indispensable++” “[ ] Enable CPUfreq debugging” “<*> CPU frequency translation statistics” “[ ] CPU frequency translation statistics details” “ Default CPUFreq governor (performance) —>” “— 'performance' governor” “< > 'powersave' governor” “< > 'userspace' governor for userspace frequency scaling” “++<*> 'ondemand' cpufreq policy governor ←- Voila la règle qui nous intéresse++” “< > 'conservative' cpufreq governor” “— CPUFreq processor drivers” “++<*> AMD Opteron/Athlon64 PowerNow! ←- Si vous avez un Amd, l'option peut avoir un nom différent selon le type de cpu++” “< > Intel Enhanced SpeedStep ←- C'est ici si vous avez un cpu Intel “<*> ACPI Processor P-States driver” “— shared options” “[ ] /proc/acpi/processor/../performance interface (deprecated)”

Compilez le noyau et installez le

Pour finir:

Il faut modifier le fichier /etc/conf.d/local.start et mettre les lignes suivantes: (le fichier peut-être à un autre endroit ou avoir un autre nom selon la distribution)

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling//governor
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore//nice <-- Valable pour un noyau <= 2.6.15
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore//nice//load <-- Valable pour un noyau >= 2.6.16 le nom et la sémantique change
echo 25 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up//threshold
echo 2 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling//down//factor

A la première ligne on demande le gouverneur ondemand Ensuite on lui demande de prendre toutes les tâches en compte La troisième ligne sert pour avoir une meilleure réactivité La quatrième va faire que la redescente va être plus lente que la montée.

Ensuite modifier le fichier /etc/bash/bashrc en rajoutant cette ligne:

alias cpufreq='echo ${{`cat :sys:devices:system:cpu:cpu0:cpufreq:cpuinfo cur freq`:1000}}

La ligne ajoutée permet de voire la vitesse de son Cpu en MHz, elle s'utilise tout simplement.

GentooMedia# cpufreq

Titoucha 23 fév 2006 à 06:50 (CET) - Modifié le 25 fév 2006 à 07:15 (CET) et le 15 mars 2006

gestion_dynamique_frequences_cpu.txt · Dernière modification: 18/05/2008 (modification externe)