[mod_python] remnant 'orphan' apache subprocesses

Alec Matusis matusis at yahoo.com
Tue Jan 22 00:13:15 EST 2008


I have been investigating a memory leak that occurs on  an apache server
since we switched to worker MPM.
I found that the source of it are apache subprocesses that lose track of
their parent and never exit:

root at web10 ~> ps -ef | grep httpd 
root     16197     1  0 02:00 ?        00:00:09
/usr/local/encap/httpd/bin/httpd -f /p2/web/conf/web10.conf -k start
nobody   17750     1  0 17:53 ?        00:00:00
/usr/local/encap/httpd/bin/httpd -f /p2/web/conf/web10.conf -k start
nobody    5112 16197  4 20:02 ?        00:00:16
/usr/local/encap/httpd/bin/httpd -f /p2/web/conf/web10.conf -k start
nobody    5159 16197  4 20:02 ?        00:00:15
/usr/local/encap/httpd/bin/httpd -f /p2/web/conf/web10.conf -k start
nobody    5300 16197  4 20:03 ?        00:00:14
/usr/local/encap/httpd/bin/httpd -f /p2/web/conf/web10.conf -k start


in this output, apache child pid 17750 has pid 1 as a parent, and it is one
of those ‘zombie children’.
Pids 5112,  5159, 5300 were normal (parent is pid 16197), and they exited
after MaxRequestsPerChild was reached.

Does anybody have any advice on this? I cannot correlate this to anything,
there’s nothing interesting in the server error log.
These ‘zombies’ appear at a rate of 2-3 per day; this apache serves about
350 requests per second. 

This Apache configuration is 

ServerLimit 40
ThreadLimit 70

StartServers          10
MaxClients            1600
MinSpareThreads       75
MaxSpareThreads       200
ThreadsPerChild       40
MaxRequestsPerChild   10000







More information about the Mod_python mailing list