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.

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

Regards,
-Lars

Reply via email to