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

Reply via email to