Here is some sample output from the system-status:

Srv     PID     Acc     M       CPU     SS      Req     Conn    Child   Slot    
Client  VHost   Request
0-0 2096 0/50/50 _ 0.01 23 2 0.0 0.09 0.09 X web1.opterus.com GET / lbcheck.faces HTTP/1.0 1-0 2097 0/12/12 W 0.01 513 0 0.0 0.05 0.05 X web1.opterus.com GET / HTTP/1.1 2-0 2098 0/24/24 W 0.00 450 0 0.0 0.01 0.01 X web1.opterus.com GET / login.faces HTTP/1.1 3-0 2099 0/39/39 W 0.01 207 0 0.0 0.06 0.06 X web1.opterus.com GET / HTTP/1.1 4-0 2100 0/11/11 W 0.00 518 0 0.0 0.01 0.01 X web1.opterus.com GET / HTTP/1.1 5-0 2101 0/31/31 W 0.00 271 0 0.0 0.06 0.06 X web1.opterus.com GET / HTTP/1.0

The 'Get /' is from my data center provider, it's a piece of monitoring software, but it looks like it doesn't wait for a response, because the processes are stuck in writing, and apache doesn't seem to realize the connection is gone, as you can see some of the SS times are over 10 minutes, which is longer than
all my timeout settings...

Is there any way to make apache realize the connections are gone? I will talk to the provider about what they see on their end....

Cheers,
Ian Long
Chief Software Architect, Opterus Inc.

Email: ian.l...@opterus.com
Phone: 416-840-8495 x666
Mobile: 416-817-9206
Web: http://www.opterus.com




On 5-Mar-09, at 4:03 PM, Rainer Jung wrote:

On 05.03.2009 21:04, Ian Long wrote:
I haven't actually - I will turn it on and restart the server tonight.

Another thing that I find strange is the apache (using prefork MPM)
seems to keep increasing the number of child processes. For example,
when I run:

service httpd status
httpd (pid 31093 31055 31048 31047 31046 31045 31044 31043 31042 31036 30922 30919 30860 30853 30769 30753 30733 30728 30690 30684 30653 30652 30637 30555 30440 30439 30438 30421 30383 30348 30312 30310 30309 30271 30177 30158 30157 30086 30063 30057 29906 29905 29904 29796 29795 29794 29793 29791 29790 29701 29639 29638 29633 29600 29547 29530 29529 29491 29489 29480 29443 29442 29441 29440 29397 29396 29394 29358 29357 29351 29304 29270 29191 29190 29184 29138 29137 29116 29115 29051 29012 29007 29002 28966 28959 28957 28911 28904 28903 28897 28893 28848 28809 28807 28796 28790 28782 28773 28734 28719 28645 28544 28543 28542 28475 28474 28473 28471 28470 28428 28403 28365 28363 28325 28319 28318 28316 28315 28314 28271 28269 28228 28184 28183 28138 28132 28125 28063 28022 28016 28015 28014 28013 28011 27968 27966 27965 27964 27963 27882 27836 27815 27777 27776 27689 27688 27687 27672 27671 27617 27615 27610 27568 27567 27560 27559 27523 27522 27521 27477 27476 27475 27474 27473 27467 27466 27465 27464 27457 27456 27455 27454 26439 26222 26045 26003 25855 25854
25853 25852 25851 25850 25849 25848 25846) is running...

the number of processes is always increasing....

That's definitely something to worry about. Your configuration lets us expect only 20 idle processes. So either the configuration is something different, or those processes are not idle.

What does the httpd server-status tell you? Are those processes working on something?

They are most likely the reason for the many established connections, so it will be interesting to find out, what they do.

You can also use gstack or gdb to look at the stack of some of them and get an idea, what they do. In case they are inside mod_jk and wait for an answer from the backend, do a "kill -QUIT" on the Tomcat and look in catalina.out. It will contain a list of all Tomcat threads and for each thread the full method stack, so you can see, whether they are running requests, and what it is they are working on or waiting for.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to