tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip Wigg" <p...@philipwigg.co.uk>
Subject Re: Tomcat running out of threads.
Date Mon, 21 Apr 2008 16:42:04 GMT
Thanks for your help.

>  There should be at least one TP-Processor thread doing an accept on a
> socket.

There is this one?

"TP-Processor4" daemon prio=1 tid=0x0000002b69b0e980 nid=0x655f
runnable [0x0000000041768000..0x0000000041768ab0]
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0x0000002aa1914040> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:450)
	at java.net.ServerSocket.accept(ServerSocket.java:421)
	at org.apache.jk.common.ChannelSocket.accept(ChannelSocket.java:306)
	at org.apache.jk.common.ChannelSocket.acceptConnections(ChannelSocket.java:660)
	at org.apache.jk.common.ChannelSocket$SocketAcceptor.runIt(ChannelSocket.java:870)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:595)

>  How many threads with the above stack do you have? This stack usually
> means, that the threads are connected to httpd and are waiting for the next
> request.

The rest seem to be in either of the two following states:-

"TP-Processor107" daemon prio=1 tid=0x0000002b699b2070 nid=0x3969
runnable [0x00000000482d3000..0x00000000482d3db0]
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
	- locked <0x0000002adf8760b0> (a java.io.BufferedInputStream)
	at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:620)
	at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:558)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:685)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:595)

"TP-Processor103" daemon prio=1 tid=0x0000002b69c0ad10 nid=0x3965 in
Object.wait() [0x0000000047ecf000..0x0000000047ecfbb0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000002ad0716cc8> (a
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
	at java.lang.Object.wait(Object.java:474)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:662)
	- locked <0x0000002ad0716cc8> (a
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable)
	at java.lang.Thread.run(Thread.java:595)


> http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html

I have spent a while reading this document I wasn't sure if it would
help because the thread seems to be locked at the backend, ie. Tomcat
and not with mod_jk.

I have taken a grab of the Tomcat manager status page after this
problem has occured, one thing I have noticed is that all the
connections seem to be in 'keepalive' state as so:-

jk-8300 - Max threads: 200 Current thread count: 200 Current thread
busy: 199 Max processing time: 1667835 ms Processing time: 20958.227 s
Request count: 131357 Error count: 586 Bytes received: 0.00 MB Bytes
sent: 11208.42 MB

   Stage Time B Sent B Recv Client VHost Request
   K 5236624 ms ? ? 86.131.34.244 ? ?
   K 4534173 ms ? ? 86.144.67.135 ? ?
   K 4438805 ms ? ? 195.92.35.134 ? ?
   K 4118296 ms ? ? 81.133.90.42 ? ?
   K 3631710 ms ? ? 90.195.77.89 ? ?
   K 4192041 ms ? ? 82.17.167.106 ? ?
   K 3632369 ms ? ? 81.152.26.38 ? ?
   K 3867751 ms ? ? 91.84.104.189 ? ?
   K 3733813 ms ? ? 86.13.237.138 ? ?
   K 3932247 ms ? ? 88.212.143.70 ? ?
   K 3811565 ms ? ? 82.2.55.100 ? ?
   K 3892483 ms ? ? 91.125.225.165 ? ?
   K 4190193 ms ? ? 78.149.64.232 ? ?

Hope that helps.

Kind regards,
Phil.

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message