Page 1 sur 1
[acpi_cpufreq] Changement dynamique de la tension processeur
Publié : mer. 05 mars 2008, 21:51
par mok.
Salut,
J'ai installé arch sur mon portable, j'ai biensûr installé cpu_freq et les "gouvernors" adéquats afin de changer la fréquence du cpu de façon dynamique.
Apparement cpu_freq n'influe que sur la fréquence du processeur (d'où son nom

) et non sur sa tension d'alimentation.
Sur processeur intel, Speedstep permet d'abaisser dynamiquement la tension du cpu lorsque sa fréquence baisse, et certains softs sous windows ou osx le font très bien (NHC, CoolBook).
J'ai trouvé quelques lectures sur ce sujet sous linux
http://www.thinkwiki.org/wiki/Pentium_M ... erclocking
http://www.w1n-france.com/wiki/doku.php ... dervoltage
Si quelqu'un avait une expérience à partager sur le sujet

Publié : mer. 05 mars 2008, 23:21
par _alexmyself
modprobe speedstep-centrino, ou quelque chose approchant devrait ameliorer le resultat de cpufreq.
pour entendre si ca marche tu peut modifier /etc/conf.d/cpufreq et faire passer de powersave a performance, enfin du moins chez moi c'est radical, les ventilo se mettent en route direct..enfin après un petit /etc/rc.d/cpufreq restart quand meme..
Publié : jeu. 06 mars 2008, 16:54
par Tebo
acpi-cpufreq est le module à privilégier.
Sinon voila un petit script à placer dans /etc/rc.d/scal, qui positionne le governor ondemand sur les deux proc de mon laptop.
Code : Tout sélectionner
#!/bin/sh
# Gouverneur « ondemand »
# Choisit une fréquence CPU maximale lorsque le système est chargé et
# la redescend progressivement lorsque le système est inactif.
# Gouverneur « conservative »
# Categorie : Noyau
# À la différence du gouverneur ondemand, le conservative ne saute pas
# directement à la fréquence maximale lorsque le système est en pleine
# charge, mais augmente celle-ci progressivement.
. /etc/rc.conf
. /etc/rc.d/functions
GREEN="\033[32;01m"
RED="\033[31;01m"
LIGHT_BLUE="\033[36;01m"
case "$1" in
start)
stat_busy "cpufreq_ondemand"
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo -en "$GREEN *$LIGHT_BLUE Governor ondemand, Current cpu0 & cpu1 frequency : $RED"
echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` /1000)) "Mhz";
#echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` / 1000)) "Mhz";
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
fi
;;
stop)
stat_busy "cpufreq_performance"
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo -en "$GREEN *$LIGHT_BLUE Governor performance, Current cpu0 frequency : $RED"
#echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` / 1000)) "Mhz";
if [ $? -gt 0 ]; then
stat_fail
else
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
Publié : jeu. 06 mars 2008, 17:08
par tuxce
pourquoi tu utilises pas tout simplement le script cpufreq?
Publié : jeu. 06 mars 2008, 21:32
par mok.
Salut,
En fait mes lectures m'ont induit en erreur, je pensais qu'acpi_cpufreq ne gérait pas la tension du processeur, or ça à l'air d'être le cas. Merci de m'avoir aiguillé dans la bonne direction !
J'ai trouvé un petit lien qui explique tout ça :
http://www.thekip.nl/2007/11/12/ubuntu- ... cpufreqko/
Publié : ven. 07 mars 2008, 09:54
par Cactus
Je ne maitrise pas du tout ce sujet, mais j'ai testé la gestion du CPU "ondemand" grâce aux wikis, et j'en suis vite revenu !
En effet, en utilisation courante, mon %CPU varie bcp et sur une grande échelle (aller-retour 0 à 100%, toutes les 2 secondes), ce qui fait que le gouverneur de puissance passe son temps à adapter la fréquence... et j'ai constaté une chute vertigineuse des perfs.
Du coup, je suis revenu au réglage "performance" (100% de puissance tout le temps).
A voir plus tard lorsque j'aurai un CPU multi-coeur...

Publié : ven. 07 mars 2008, 11:57
par tuxce
Cactus a écrit :En effet, en utilisation courante, mon %CPU varie bcp
tu devrais essayer la politique
conservative qui va le monter par palier au lieu de directement le mettre à 100%
sinon, tu peux aussi jouer sur la différence à atteindre pour changer la frequence, pour
ondemand par exemple:
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
(et cpu1 si tu as un multicoeur ou un cpu ht)
elle est par défaut de 80 normalement
pour
conservative, tu peux jouer sur la différence pour descendre la frequence et sur celle pour monter:
/sys/devices/system/cpu/cpu0/cpufreq/conservative/down_threshold
/sys/devices/system/cpu/cpu0/cpufreq/conservative/up_threshold
(je rajouterai ca dans le wiki)
Publié : ven. 07 mars 2008, 13:43
par Tebo
tuxce a écrit :pourquoi tu utilises pas tout simplement le script cpufreq?
Ben je n'ai rien à installer. De plus le quenelle que le laptop a compilé, a les modules en "dure".
tuxce a écrit :tu peux aussi jouer sur la différence à atteindre pour changer la fréquence
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
Qu'es que tu appelle la différence?
Publié : ven. 07 mars 2008, 14:33
par tuxce
cpufreq fait partie du paquet cpufrequtils
/etc/rc.d/cpufreq n'est en fait qu'un script qui fait en fin de compte ce que fait ton script avec l'avantage d'être configurable (un minimum) par le fichier /etc/conf.d/cpufreq
mais bon un script est tout aussi bien, chacun prend ce qu'il veut
la différence était peut etre pas le bon terme, plutot le seuil:
http://wiki.archlinux.fr/howto:cpufreq# ... on_avancee