Alec Matusis
matusis at yahoo.com
Tue Jan 22 01:36:53 EST 2008
> Are you absolutely sure that that zombie process is from the current > Apache instance and not perhaps an earlier instance of Apache? > Yes, zombie appeared after apache was restarted, and when apache was stopped, I made sure there were no httpd processes. > What do you get if you use a program like lsof or ofiles to work out > what open resources the zombie process may still be holding on to? I have killed all zombies with `kill -9` , so I will give you this information when a new zombie appears. It looks like zombies appear only during higher load periods. > -----Original Message----- > From: Graham Dumpleton [mailto:graham.dumpleton at gmail.com] > Sent: Monday, January 21, 2008 10:27 PM > To: Alec Matusis > Cc: mod_python at modpython.org > Subject: Re: [mod_python] remnant 'orphan' apache subprocesses > > What do you get if you use a program like lsof or ofiles to work out > what open resources the zombie process may still be holding on to? > > Are you absolutely sure that that zombie process is from the current > Apache instance and not perhaps an earlier instance of Apache? > > Graham > > On 22/01/2008, Alec Matusis <matusis at yahoo.com> wrote: > > > Are CGI scripts used anywhere at all on your Apache web site? > > > > No, only mod_python and serving static files. > > > > > -----Original Message----- > > > From: Graham Dumpleton [mailto:graham.dumpleton at gmail.com] > > > Sent: Monday, January 21, 2008 10:07 PM > > > To: Alec Matusis > > > Cc: mod_python at modpython.org > > > Subject: Re: [mod_python] remnant 'orphan' apache subprocesses > > > > > > Are CGI scripts used anywhere at all on your Apache web site? > > > > > > On 22/01/2008, Alec Matusis <matusis at yahoo.com> wrote: > > > > > What version of Apache are you using? > > > > > > > > 2.2.6 > > > > > > > > > What Python web application are you running on top of > mod_python, a > > > > > self built one or one that uses one of the larger web > frameworks? > > > > > > > > Only self-built stuff, nothing complicated. > > > > > > > > > Does your application create sub processes in any way to > perform > > > > > additional work? > > > > > > > > No sub processes and no threads, except that we use MySQLdb > module > > > (which > > > > might create threads?). > > > > > > > > I noticed a warning in the error log: > > > > /live/scripts/_pro.py:100: Warning: Rows matched: 1 Changed: 1 > > > Warnings: 1 > > > > (this is a mysql warning), but I would not think this is > relevant... > > > > > > > > > > > > > -----Original Message----- > > > > > From: Graham Dumpleton [mailto:graham.dumpleton at gmail.com] > > > > > Sent: Monday, January 21, 2008 9:22 PM > > > > > To: Alec Matusis > > > > > Cc: mod_python at modpython.org > > > > > Subject: Re: [mod_python] remnant 'orphan' apache subprocesses > > > > > > > > > > What version of Apache are you using? > > > > > > > > > > What Python web application are you running on top of > mod_python, a > > > > > self built one or one that uses one of the larger web > frameworks? > > > > > > > > > > Does your application create sub processes in any way to > perform > > > > > additional work? > > > > > > > > > > Graham > > > > > > > > > > On 22/01/2008, Alec Matusis <matusis at yahoo.com> wrote: > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > Mod_python mailing list > > > > > > Mod_python at modpython.org > > > > > > http://mailman.modpython.org/mailman/listinfo/mod_python > > > > > > > > > > > > > > > > > >
|