You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Tim Gardner <tg...@codeHorse.com> on 2002/10/09 20:21:35 UTC

httpd - where are these zombies coming from?

I'm having trouble with zombies.  Red Hat 7.1 on a Dell server with 1 
GB memory.  The following ps output shows a somewhat typical output. 
Sometimes there are no zombies, but most of the time there are 
several, and often as many as this.  Performance often seems 
sluggish, and I am assuming that this is because of this problem, 
though I don't know that for sure.  Turning off the database lowers 
usage and decreases the number of zombies, but I don't know if this 
is due to the database or to the lower usage.

I can't figure out what is going on.  Any help / suggestions would be 
much appreciated.

$ ps -aux | grep apache
root     30060  0.4  0.3  5564 3508 ?        S    13:36   0:04 
/usr/local/apache
apache   15892  0.0  0.3  5632 3612 ?        S    13:54   0:00 
/usr/local/apache
apache   16631  0.0  0.3  5632 3612 ?        S    13:55   0:00 
/usr/local/apache
apache   16690  2.2  1.1 16604 11372 ?       S    13:55   0:00 
/usr/local/apache
apache   16892  6.8  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16894  0.2  0.3  5632 3680 ?        S    13:55   0:00 
/usr/local/apache
apache   16903  0.3  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16911  0.2  0.3  5648 3696 ?        S    13:55   0:00 
/usr/local/apache
apache   16939  0.0  0.3  5640 3680 ?        S    13:55   0:00 
/usr/local/apache
apache   16957 25.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16962  0.0  0.3  5652 3692 ?        S    13:55   0:00 
/usr/local/apache
apache   16963  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16964  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16969  0.0  0.3  5636 3676 ?        S    13:55   0:00 
/usr/local/apache
apache   16970  0.0  0.3  5636 3684 ?        S    13:55   0:00 
/usr/local/apache
apache   16985  0.0  0.3  5636 3676 ?        S    13:55   0:00 
/usr/local/apache
apache   16987  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16989  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16991  1.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16992  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16993  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16994  0.0  0.0     0    0 ?        Z    13:55   0:00 [httpd 
<defunct>]
apache   16995  0.0  0.3  5636 3676 ?        S    13:55   0:00 
/usr/local/apache
apache   16996  1.0  0.3  5636 3676 ?        S    13:55   0:00 
/usr/local/apache
admin    16998  0.0  0.0  1740  604 pts/0    S    13:55   0:00 grep apache

My httpd.conf has the following:
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 10
MaxSpareServers 15
StartServers 15
MaxClients 35
MaxRequestsPerChild 300




/usr/local/apachessl/bin/httpd -V
Server version: Apache/1.3.26 (Unix)
Server built:   Aug 10 2002 01:35:37
Server's Module Magic Number: 19990320:13
Server compiled with....
  -D EAPI
  -D HAVE_MMAP
  -D HAVE_SHMGET
  -D USE_SHMGET_SCOREBOARD
  -D USE_MMAP_FILES
  -D HAVE_FCNTL_SERIALIZED_ACCEPT
  -D HAVE_SYSVSEM_SERIALIZED_ACCEPT
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D HTTPD_ROOT="/usr/local/apachessl"
  -D SUEXEC_BIN="/usr/local/apachessl/bin/suexec"
  -D DEFAULT_PIDLOG="logs/httpd.pid"
  -D DEFAULT_SCOREBOARD="logs/httpd.scoreboard"
  -D DEFAULT_LOCKFILE="logs/httpd.lock"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D TYPES_CONFIG_FILE="conf/mime.types"
  -D SERVER_CONFIG_FILE="conf/httpd.conf"
  -D ACCESS_CONFIG_FILE="conf/access.conf"
  -D RESOURCE_CONFIG_FILE="conf/srm.conf"

I built it with:
-rw-r--r--    1 admin    admin     2303147 Aug  9 22:10 apache_1.3.26.tar.gz
-rw-r--r--    1 admin    admin      372525 Aug  9 22:14 mod_perl-1.27.tar.gz
-rw-r--r--    1 admin    admin      753241 Aug  9 23:27 
mod_ssl-2.8.10-1.3.26.tar.gz
-rw-r--r--    1 admin    admin     2170570 Aug 10 01:22 openssl-0.9.6g.tar.gz

Thanks,
Tim

Re: httpd - where are these zombies coming from?

Posted by Stas Bekman <st...@stason.org>.
Tim Gardner wrote:
> I'm having trouble with zombies.  Red Hat 7.1 on a Dell server with 1 GB 
> memory.  The following ps output shows a somewhat typical output. 
> Sometimes there are no zombies, but most of the time there are several, 
> and often as many as this.  Performance often seems sluggish, and I am 
> assuming that this is because of this problem, though I don't know that 
> for sure.  Turning off the database lowers usage and decreases the 
> number of zombies, but I don't know if this is due to the database or to 
> the lower usage.
> 
> I can't figure out what is going on.  Any help / suggestions would be 
> much appreciated.
[...]
check
http://perl.apache.org/docs/1.0/guide/performance.html#Forking_and_Executing_Subprocesses_from_mod_perl
in particular
http://perl.apache.org/docs/1.0/guide/performance.html#Avoiding_Zombie_Processes
my guess is that you use fork or its variations which leaves zombies.


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com