On Wed, Mar 12, 2008 at 10:36:23AM +0200, Lars Nood??n wrote:

> How are zombies best dealt with, correctively?
> 
> My OBSD 4.2 x86 machine is showing memory and CPU utilization are a
> negligable fraction of the total capacity.  Yet, it is getting maxed out
> in regards to number of processes, apparently due to the zombies.
> 
> kill -KILL seems to have no effect.

zombie processes are already dead, you cannot kill them.

> 
> Some interaction between Apache2 and perl is creating zombies.  After
> several months, this number has crept up to close to a thousand and with
> kern.maxproc=1024, problems are starting
> 
> For example, ps says :
> ...
>  _apache2    97  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2 19083  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2 24147  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2 30821  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2  6995  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2 26059  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
>  _apache2 31087  0.0  0.0     0     0 ??  Z  - 0:00.00 (perl)
> ...
> 
> So again, what corrective measures can be taken to rid the machine of
> zombie processes?
> 
> And, is there a generic way to prevent them?  The cause is a perl CGI
> called by apache2

zombie state happend if a child process exits, but its parent did not
execute a wait(2) system call (or one if its alternatives) for the
process (yet). So this seem a bug in the handling of CGIs.

        -Otto


> 
> Regards,
> -Lars

Reply via email to