← Back to team overview

sslug-teknik team mailing list archive

Re: Stor belastning iflg uptime m.fl.

 

On Mon, Jan 19, 2004 at 11:31:27AM +0100,  Dennis Jørgensen wrote:
> "Klaus S. Madsen" <sslug@xxxxxxxxxxxxxxxx> writes:
> 
> 
> > Med andre ord: Din init-process opfører sig ikke som den skal. Den burde
> > tage sig af de forældreløse processer når de dør, så de ikke bliver
> > liggende som zombier.
> 
> Såvidt jeg kunne forstå var bla. tale om et problem med en usb
> driver. Læs sidste afsnit her:
> 
> <URL:http://www.seekingfire.com/bitesized/zombie.html>
> 
> 
> >> Derudover: Når init er deres parent, og de ikke bliver lukket, så er det
> >> ret sikkert dem der er skyld i dit load. Men det belaster ikke din
> >> maskine.
> > Det giver jo ikke mening. Zombie processer giver ikke anledning til
> > load. I kan evt. selv afprøve det med flg. program:
> 
> "Et eller andet" gør at enten en proces' parent har glemt at tage imod
> en exit status, eller at processen ikke kan komme til at komme af med sin
> exit status, efter den er signaleret at den skal stoppe. Alt efter hvad
> "et eller andet" er kan der sagtens være et load.
Zombie processer giver ikke anledning til load. Uanset hvad. Hvis der er
mange zombie processer i et system, og de er ejet af init, så er der
noget galt med systemet (ala. det er på tide at kigge efter Oopses, og
køre memtest). Men det er ikke zombie processens skyld at der er et load
på maskinen.

Hvis du er i tvivl, så kig i kernel/timer.c i funktionen
count_active_tasks. Den tæller antallet af aktive processer, og bliver
kaldt fra calc_load som sørger for at opdatere load informationen.
count_active_tasks tæller kun processer der er i state TASK_RUNNING
eller har TASK_UNINTERRUPTIBLE bitten sat. Hvis man så grepper efter
TASK_ZOMBIE i kerne sourcen, så finder man ud af at en process der har
TASK_ZOMBIE sat, aldrig kan have TASK_UNINTERRUPTIBLE sat også. Det er
fordi alle en process fildescriptorer mm. er blevet lukket inden
processen bliver til en zombie. 

Så den sidste del af artiklen fra seekingfire.com passer ikke på Linux.
Men nu står der også at det er baseret på en diskussion fra 1989... 3 år
før Linux.

-- 
/-----------------------------------------------------\
| Klaus S. Madsen      | "Failure is not an option... |
| ICQ: 45400164        |  It comes bundled with your  |
| www.hjernemadsen.org |  Microsoft products!"        |
\-----------------------------------------------------/


Follow ups

References