httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "GUMMALAM,MOHAN (HP-Cupertino,ex2)" <mohan_gumma...@hp.com>
Subject RE: Problems, 2.0.20, and HP-UX
Date Wed, 11 Jul 2001 01:53:50 GMT
My httpd.conf file is as follows:

<IfModule threaded.c>
StartServers         6
MaxClients           8
MinSpareThreads      5
MaxSpareThreads     125
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

If I set the MaxSpareThreads to 150 (which is equal to StartServers *
ThreadsPerChild), then everything works fine..  but whenever I set
MaxSpareThreads to 125 (or any value below that, say 100), I end up with
just two processes!  It takes a while (like couple of minutes) for this to
take effect.  Anyone seen this behavior yet?  Any clues?

M

-----Original Message-----
From: GUMMALAM,MOHAN (HP-Cupertino,ex2) [mailto:mohan_gummalam@hp.com]
Sent: Tuesday, July 10, 2001 4:58 PM
To: 'new-httpd@apache.org'
Subject: Problems, 2.0.20, and HP-UX


Hi Apache2.0 devs: On HP-UX, we are facing a problem whose symptoms are
similar to the one seen with 2.0.19 release.  Upon starting Apache, the
number of processes running reduces to 2.  Upon further investigation, it
looked like the main process (watchdog process) went on a rampage and killed
all the child processes in the following piece of code:

static void perform_idle_server_maintenance(void)
{
    .
    .
    if (idle_thread_count > max_spare_threads) {
        /* Kill of one child */
    .
    .
}

By using tusc, we found that after the child processes were created, there
were a bunch of requests sent to kill the processes:

write(13, "! ", 1) ....................................... = 1

And although a lot of waitpid's were called earlier (each returning -1), the
following bunch of waitpid's succeeded after a while, all occuring together.

waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2122
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2121
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2120
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2119
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2118
waitpid(-1, WIFEXITED(0), WNOHANG|WUNTRACED) ............. = 2117

At the end of it, there are only two processes running.  I tried this out
with different StartServers values, (4, 5 and 6).  Each time I ended up with
the same final state (of two processes).  The above output is in the case of
StartServers=6.

I'm surprised that no one else has run into this, when it consistently shows
up on HP-UX.

We'll be investigating this further here, and will get back to you.  If
anyone else has run into this problem, do let me know.

Thanks,
M

Mime
View raw message