I am not 100% sure. Do you think Keep Alive time should be revisited? I remember hearing it somewhere.
Regards Prasanna Ram On Tue, May 12, 2009 at 6:24 PM, Karthik kanna <kanna...@yahoo.com> wrote: > Hi, > > I am using Apache 2.0.59 in AIX 5.3. Apache is running as "apache" user-id, > even the parent process is also running as "apache" user-id. I am using > non-standard ports like 8028/9028, so I do not require root user to run the > parent process.. This is the configuration I am using in Apache 2.0.59. > > StartServers 2 > MaxClients 150 > MinSpareThreads 25 > MaxSpareThreads 75 > ThreadsPerChild 25 > MaxRequestsPerChild 30000 > > Actually what is happening - when the child process served 30000 requests, > it is not killed by the parent process and the child process is running > forever on the server till I manually kill the child process or restart the > Apache. But parent process spawns new child process. So the number of Apache > httpd process is increasing day by day on the server. The thing is, few > child process gets killed by the parent process once it served 30000 > requests. But few child process is not exiting. > > Truss output of the child process that is not exiting: > 3911841: yield() = > 3911841: thread_waitact(400) = 0 > 1144501: __semop(1048580, 0xF1B22D58, 1) = 0 > 1144501: __semop(1048580, 0xF1B22D60, 1) = 0 > 1144501: _nsleep(0x202069E8, 0x20206A60) = 1 > 3911841: yield() = > 822367: kread(-802643620, 0x00000000, 0) (sleeping...) > 822367: kread(-802643620, 0x00000000, 0) = 0 > 3911841: yield() = > 822367: kread(-802643620, 0x00000000, 0) (sleeping...) > 822367: kread(-802643620, 0x00000000, 0) = 0 > 3911841: yield() = > 3911841: thread_waitact(400) = 0 > Few system calls like thread_waitact(), kread(), semop() and yield() are > running infinitely for the child process. Before the child process starts > executing these system call infinitely, the last system call it was > executing was thread_terminate_ack() after it served 30000 requests. > > In the child process, one thread is in running state executing _p_nsleep() > system call and another thread is in wait state, whereas all other threads > are in terminated status. > > *(dbx) thread* > thread state-k wchan state-u k-tid mode held scope function > $t1 wait 0x38882158 running 2894597 k no pro read > > >$t2 run running 3674465 k no pro _p_nsleep > > $t3 terminated u no > pro > Since 2 threads are not terminated, I think child process is not exiting by > the process process. > > Have you faced this problem? Any help you provide to resolve the issue is > much appreciated. > > Regards, > Karthik Kanna > > ------------------------------ > Now surf faster and smarter ! Check out the new Firefox 3 - Yahoo! Edition > * Click > here!<http://in.rd.yahoo.com/tagline_firefox_1/*http://downloads.yahoo.com/in/firefox/?fr=om_email_firefox> > -- Prasanna Ram