Faut-il des processus méchants ?
Le
Thomas Baruchel
Par simple curiosité :
après des années d'utilisation, je me rends compte que si l'occasion
de donner une "gentillesse" positive aux processus est fréquente, voire
banale, je n'ai jamais réellement eu à rendre des processus méchants
(mon utilisation correspond à celle d'un ordinateur personnel) ;
les rares fois où je l'ai fait, j'admets sans réserve que c'était forcé
(plus pour le plaisir d'essayer), sale (obligé de passer en root), voire
même que s'il avait réellement fallu utiliser 'nice' cela aurait dû être
dans l'autre sens (exemple : gros calculs).
Du coup j'aimerais avoir des bons exemple de cas où le coefficient négatif
apporte réellement quelque chose. Pourriez-vous me donner ce genre
d'exemples ?
--
Thomas Baruchel
après des années d'utilisation, je me rends compte que si l'occasion
de donner une "gentillesse" positive aux processus est fréquente, voire
banale, je n'ai jamais réellement eu à rendre des processus méchants
(mon utilisation correspond à celle d'un ordinateur personnel) ;
les rares fois où je l'ai fait, j'admets sans réserve que c'était forcé
(plus pour le plaisir d'essayer), sale (obligé de passer en root), voire
même que s'il avait réellement fallu utiliser 'nice' cela aurait dû être
dans l'autre sens (exemple : gros calculs).
Du coup j'aimerais avoir des bons exemple de cas où le coefficient négatif
apporte réellement quelque chose. Pourriez-vous me donner ce genre
d'exemples ?
--
Thomas Baruchel

Poser une question


Sur une machine chargée, je donne une plus grande priorité à mplayer
pour éviter les à-coups.
Mais je ne suis pas sur que ça soit vraiment efficace...
--
__Pascal Bourguignon__ http://www.informatimago.com/
"Specifications are for the weak and timid!"
Pour artsd, sur ma machine (linux-x86) bonatoufer, le nice ne suffit
pas. Alors je fais un truc pas très catholique au lancement du système :
nohup sh -c "while true; do chrt -f 99 su nobody -c "/usr/bin/artsd -a alsa
-d -u -n -p 1025"; killall xmms mplayer; sleep 5; done" >& /tmp/aRts.log &
et je positionne
ARTS_SERVER=localhost:1025
dans le profile global.
Cependant, il me semble que chrt est spécifique linux.
Le "while true" sert à relancer artsd des fois qu'il s'écroule. Ça arrive et
je ne sais pas pourquoi.
Il faut faire gaffe avec chrt, si jamais il prenait au processus (artsd)
l'envie de prendre tout le cpu, la boite serait bonne pour le reset.
A ce sujet, j'ai une question, en rapport avec le contraire du sujet de ce
thread. J'aimerais avoir des processus (très gentils) de calcul en tâche de
fond, qui eux auraient bien envie de prendre en permanence 100% du cpu (je
sais que ce n'est pas très écologique...) mais qui ne doivent absolument pas
gêner les autres.
La solution immédiate est "nice -n +19 commande...". Mais elle n'est que
moyennement satisfaisante. On peut avec chrt mettre en priorité absolue un
processus devant les autres (comme chrt -f nn). Y a-t-il un moyen (en
particulier sous linux ou solaris) de rendre le gentil processus réellement
sous-prioritaire ?
J'entend par là : si rien n'est actif dans la file d'attente, alors on donne
la main à ce processus, mais si un ou plusieurs des autres processus normaux
se réveille alors le gentil processus n'a plus la main jusqu'à ce que les
autres se rendorment. (sous linux, chrt -f -1 n'est pas possible sans
toucher au noyo, ce que je n'ai pas encore essayé).
david
rien que ça? :-)
--
SPIP, phpNuke, Plone, opengroupware... c'est bien
CPS c'est mieux: http://www.cps-project.org/
Hébergement de sites CPS: http://www.objectis.org/
2005, vers 23:38, david
À ce que je sache, c'est exactement ce qu'il se passe. Si un processus
a une gentillesse plus élevée qu'un autre, ce dernier prend la main
aussi longtemps qu'il le veut sur le premier. Encore faut-il qu'il
réussisse à la garder...
--
Keep it right when you make it faster.
- The Elements of Programming Style (Kernighan & Plauger)
Bonjour,
Du temps où je jouais avec , j'utilisais loadwatch pour faire
ce genre de chose (http://freshmeat.net/projects/loadwatch/). En
gros, il stoppe le processus lorsque la charge du système dépasse un
certain seuil, et le réveille quand elle retombe sous un autre seuil.
Arnaud