GNT sans publicité, site mobile, fonctionnalitées exclusives...

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
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Bourguignon
Le #618090
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 ?


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!"

david
Le #618088
Patrick Lamaizière
Pascal Bourguignon écrivait :

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...


Sur le démon son de KDE artsd ça améliore un peu.


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


R12y
Le #618087
On Tue, 06 Sep 2005 21:38:43 +0000, david wrote:

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 &


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/

Vincent Bernat
Le #618086
OoO La nuit ayant déjà recouvert d'encre ce jour du mardi 06 septembre
2005, vers 23:38, david
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.


À 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)

Arnaud Giersch
Le #618085
Mardi le 06 septembre 2005, vers 23:38:43 (CEST), david a écrit:

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.


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

Publicité
Suivre les réponses
Poster une réponse
Anonyme