Bonjour,

Le mer 27/11/2002 à 11:40, Rénald CASAGRAUDE a écrit :
> On est d'accord il bel et bien mort, il ne consome rien, c'est ce que
> j'expliquait dans le mail précédent ! Mais il fait également grimper le
> load ! La charge n'est qu'un chiffre et apparement elle utilise la table
> des processus pour aboutir à ce chiffre...

Ca devient quand même pas mal HS, mais si ça interresse des gens...

La charge est calculée à partir de count_active_tasks() (voir info.c et
kernel/timer.c).
Les taches actives, c'est juste la somme des processus dans la run queue
et de ceux qui sont non-interruptibles (en gros, ceux en mode kernel et
en attente d'une IO) (voir kernel/timer.c et kernel/sched.c)

Et pour finir, un zombie est une tache qui est passée par exit_notify()
(à la fin de do_exit() dans kernel/exit.c) et juste avant on a libéré
toute le mémoire du processus... Donc, il n'y a plus rien à executer,
donc pas de raison d'être dans la runqueue ni d'être en attente de quoi
que ce soit...

Par contre, ce qui peux faire monter la charge, c'est si la machine
génère des pleines brouettes de zombies, donc de processus ; en gros
elle passe sont temps à forker et à faire des exit...

Bruno

-- 
Bruno Muller <[EMAIL PROTECTED]>
http://www.alinka.com/

Répondre à