zombies with AMD64 and 32 bit userspace with 2.6

David Lang
2004-05-14T23:28:20Z

I have a box I am testing in my lab which is a dual opteron with a
complete 32 bit userspace (debian based) with a 64 bit kernel. when
running a stress test with a highly forking workload I am running into a
situation where it generates a lot of zombies

the test is a simple forking proxy that receives connections from one
machine (running apache benchmark) and forwards them to anothr machine
(running apache). for <~30,000 requests the machine keeps up with no
problem (apache is the bottlneck here at ~3500 requests/sec), but if I try
to do a test with more then about 30,000 requests in it the box starts to
generate zombie processes (eventually running into the max processes limit
and stopping)

the smaller tests leave no zombies at all and can be run multiple times
without a problem (although I have not run them back to back, so there is
a substantial bit of time between tests)

I have been able to duplicate this with the 2.6.4 and 2.6.6 kernels.

running the exact same test (same binaries except for the kernel) on a
dual athlon box has no problems (the dual athlon box becomes the
bottleneck at ~2500 connections/sec) and has survived 10,000,000
connection tests.

David Lang

--
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan