View previous topic :: View next topic |
Author |
Message |
lithium Apprentice
Joined: 03 Nov 2002 Posts: 208 Location: Lyon, France
|
Posted: Fri May 14, 2004 10:43 pm Post subject: [Linux,SMP] éteindre un processeur ? |
|
|
j'ai un bi-athlon 2400+
Autant vous dire que je n'ai pas toujours besoins de 4Ghz.
J'aimerait savoir s'il y a moyen d'éteindre/allumer un processeur à la volée ?
Ou faire varier leur frequence ? |
|
Back to top |
|
|
kernelsensei Bodhisattva
Joined: 22 Feb 2004 Posts: 5619 Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)
|
Posted: Sat May 15, 2004 10:13 am Post subject: |
|
|
Perso, je ne crois pas, pour la frequence, il y a pour les portables le speedstep & co, mais sur un fixe ...
question subsidiaire : Pourquoi vouloir eteindre un CPU ? _________________ $ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join' |
|
Back to top |
|
|
arlequin l33t
Joined: 16 Nov 2002 Posts: 707 Location: grep $USER /etc/passwd | cut -d':' -f6
|
Posted: Sat May 15, 2004 11:07 am Post subject: |
|
|
Il me semble que dans lors de la configuration du noyau, tu peux choisir l'option "CPU Idle" qui se charge de baisser (?) la fréquence de noyau lorsque celui-ci n'est pas solicité...
Donc ce que tu souhaite faire (du moins, dans l'idée) est géré naturellement par le noyau _________________ J'vous dis ciao !
Au fait, ciao ça veut dire bye en anglais. |
|
Back to top |
|
|
lithium Apprentice
Joined: 03 Nov 2002 Posts: 208 Location: Lyon, France
|
Posted: Sat May 15, 2004 12:10 pm Post subject: |
|
|
kernel_sensei : pour qu'il arrete de consommer du courant quand ce n'est pas necessaire.
arlequin : il ne change pas la frequence dans ce cas, il doit juste mettre le processeur dans une sorte de veille. |
|
Back to top |
|
|
anigel Bodhisattva
Joined: 14 Apr 2003 Posts: 1894 Location: Un petit bled pas loin de Limoges ;-)
|
Posted: Sat May 15, 2004 12:37 pm Post subject: |
|
|
arlequin wrote: | Il me semble que dans lors de la configuration du noyau, tu peux choisir l'option "CPU Idle" qui se charge de baisser (?) la fréquence de noyau lorsque celui-ci n'est pas solicité... |
Pas exactement : le fait d'activer cette option permet au noyau d'exécuter une instruction spéciale du CPU. Cette instruction, est en fait prévue pour... ne rien faire . Elle est juste là pour permettre au cpu de travailler sans rien activer (ni accès mémoire, ni accès registres, etc...).
L'objectif est non pas de baisser la fréquence du cpu, mais simplement de lui faire moins consommer d'électricité, et donc de moins chauffer.
Pour la question de désactiver un cpu, à ma connaissance ce n'est pas encore possible sur les noyaux linux (mais je peux me tromper). Après se pose la question de l'utilité d'une telle chose. Problème intéressant en tous cas ! _________________ Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres. |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sat May 15, 2004 1:39 pm Post subject: |
|
|
Bon si ça doit être possible de faire baisser la fréquence du proc...
mais je sais pas cmt (amha suffit d'undercloquer non? )
pour les AMD je sais pas si c possible en dehors des athlon XP M
(je l'ai vu faire et ça marche vraiment TRES bien!)
a priori c'est aussi possible sur les PIV...le "throlling state" qu'ils apellent ça. en fait faut balancer une commande spécial (genre echo cmd >> /proc/le_node_de_gestion_du_throlling) ou un truc comme ça
bon pour les PIV M il y a le speedstep et là je crois que ça marche tout seul (ou plus ou moins avec le demon cpudynd...)
enfin je dis ça mais j'ai pas essayé de le faire fonctionner sur mon PIV (non M) sur portable.
est ce que kk1 sait cmt faire?
pare que mon noyau me dit bien que j'ai 9 état possible de throlling et que là je suis en état 0 je crois (truc de base donc vitesse maxi) ou 9 (enfin je suis à une des extrémités du throlling state quoi)
donc ptet que ça existe pour les athlon XP.
mais ptet que je me plante complètement |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sat May 15, 2004 2:14 pm Post subject: |
|
|
en effet me suis planté./..
le throlling state c'est juste un truc qui permet au proce de dormir dès qu'il le peut lorsqu'il est trés demandé et que sa température monte en flèche...
là je suis en état 00% donc j'ai 100% de performance pour moi. si je monte en %tage de throlling je pers en preformance (vous suivez?)
un truc pas génial en fait comparé au système tel que "speedstep" etc...
et pour les amd je sias pas cmt ça se passe mais sinon pour les Intel il semblerait que ces idiots de chez Intel justement garde "amoureuseument" leur specs ce qui fait que c pas super implémenté...
je répond à rien du tout là... |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sat May 15, 2004 2:32 pm Post subject: |
|
|
Bon "a priori" le gestion CPUfreq du noyau 2.6.x prend en charge pas mal de proc (dont les athlon XP et PIV (non M))
je vais essayer ça. En principe avec ce truc on devrait justement être en mesure de faire baisser la fréquence à la volée...
je vous tiens au courant pour le PIV... |
|
Back to top |
|
|
lithium Apprentice
Joined: 03 Nov 2002 Posts: 208 Location: Lyon, France
|
Posted: Sat May 15, 2004 2:50 pm Post subject: |
|
|
comme je l'ai déjà dit l'utilitée serait de consommer le moins de courant possible.
j'ai une chipset AMD 760MPX, l'est pas tout jeune mais c'est le seul pour les athlons MP.
Ce sonht des athlons XP modifés en MP |
|
Back to top |
|
|
kwenspc Advocate
Joined: 21 Sep 2003 Posts: 4954
|
Posted: Sat May 15, 2004 7:25 pm Post subject: |
|
|
Bon ben essais cpufreqd c VRAIMENT trop de la balle
ça va marcher avec tes procs c quasi sûr vu que les AMD possède ça depuis la première fois qu'ils ont intégrés la technologie "Power Now!"
ta question m'a dirigée à chercher un peu par là bas et j'ai trouvé ce truc et franchement c'est trop bien
prends un kernel 2.6.x, enable le "CPU Frequency Scaling" dans "Power Management support" et mattes les options
ne séléctionnes que ce qui concerne ton CPU. c'est trés simple tu vas voir. ensuite un chtit :
Code: |
emerge cpufreqd
et
rc-update add cpufreqd default
|
hum vu que tu vas être en 2.6, une modif s'impose : le fichier /etc/cpufreqd.conf
révise le.
il faut en effet changer tout les chiffre suivie de % par des valeurs absolues. ces pourcentages donnent la vitesse du CPU (et sur 2.6 il faut donner LA valeur de la vitesse et non un pourcentage)
va voir dans
Code: |
/sys/devices/system/cpu/cpux/cpufreq/
|
et mates le fichier scaling_available_frequencies
là tu as toutes les valeurs absolues que tu vas pouvoir utiliser dans ton fichier de conf
tu verras c'est simple à utiliser ce fichier, et trés franchement c'est trop puissant! avec les [Profile] tu peus personaliser les vitesses de CPU que tu veux (tu leur donnes un nom à tes profile) et dans les [Rule] tu mets les conditions et le profile qui doit se lancer si elles sont vérifiées. J'en ai bricoler pas mal et c'est vraiment TRES réactif!
dans la seconde le proc change de frequence!
pour ceux qui sont sur pc portable il y a possibilité de géré les cas où le pc tourne sur batterie ou bien sur le secteur
pour ma part j'ai 9 niveau de fréquence de 300Mhz à 2.4Mhz (vitesse original de mon proc)
cependant je ne sais pas ce système utilise moins d'energie. en principe oui : c le but. mais je vais tester sur mon portable directement en 300Mhz et en 2.4 une décharge complète de la batterie pour voir la différence de temps de tenue auquel cas je verrais le gain que m'apporte cpufreqd
hum cependant : je n'ai pas testé sur un système SMP magré que j'en ai un sous la main (c du PIII et il me semble que ce système ne fonctionne pas sur de tel proc).
ah oui dernier ptit mot : dans les [Rule] tu decides quel programmes est la conditions de lancement du Rule, si vraiment tu veux switché toi même directement à une vitesse alors là je ne sias pas trop comment faire, soit tu te fais un prog C tout con qui se met en pause (et donc tu met son nom comme condition) soit (et je pense que c le mieux) tu réussis à plus ou moins déterminer pour quel type de prog tu as besoin ou non de puissance et tu te customise ton ficheir cpufreqd.conf en conséquence.
ah aussi, (et là je part un peu du sujet) il existe aussi un moyen, encore experimental certes, de mettre un linux en mode "hibernation" complet : le projet s'appelle swsusp
lien : http://swsusp.sourceforge.net/
apparemment ça a l'air bien sympatique
(conf kernel : power managment support -> Software Suspend et Suspend to disk support)
en gros le système au moment de la mise en hibernation sauvegarde son contexte d'éxécution dans la partoche swap et s'éteint complètement!!! on peut même virer l'alim! Au prochain démarrage le kernel va par défaut voir si il y a un contexte sauvé dans la swap et si tel est le cas le remettre en état. (on peut eviter qu'il le fasse en mettant l'option "noresume" d'après ce que j'ai compris)
voili voilou!
j'espère que cette fois-ci ça répond (un peu) à ta question.
sinon si y a d'autres moyens (peut-être) ben ça m'interesse aussi du coup |
|
Back to top |
|
|
lithium Apprentice
Joined: 03 Nov 2002 Posts: 208 Location: Lyon, France
|
Posted: Sat May 15, 2004 9:36 pm Post subject: |
|
|
Excelent kwenspc.
Je vais me renseigner sur le sujet.
Merci baucoup |
|
Back to top |
|
|
|