Hi everyone. I'm running Tomcat 5.0.30 + Apache 2.2.3 on a SuSE EL 10.
After a few days running, the CPU load increases, until Tomcat is eating
99% of it, and I need to restart. The last time this happened, I
executed jstack on the Tomcat VM, and I saw most of threads stacks are
like this:
##############################
Thread 26701: (state = IN_NATIVE)
- java.net.SocketInputStream.socketRead0(java.io.FileDescriptor,
byte[], int, int, int) @bci=0 (Compiled frame; information may be imprecise)
- java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129
(Compiled frame)
- java.io.BufferedInputStream.fill() @bci=175, line=218 (Compiled frame)
- java.io.BufferedInputStream.read1(byte[], int, int) @bci=44, line=256
(Compiled frame)
- java.io.BufferedInputStream.read(byte[], int, int) @bci=49, line=313
(Compiled frame)
-
org.apache.jk.common.ChannelSocket.read(org.apache.jk.core.MsgContext,
byte[], int, int) @bci=32, line=598 (Compiled frame)
- org.apache.jk.common.ChannelSocket.receive(org.apache.jk.core.Msg,
org.apache.jk.core.MsgContext) @bci=38, line=535 (Compiled frame)
-
org.apache.jk.common.ChannelSocket.processConnection(org.apache.jk.core.MsgContext)
@bci=28, line=663 (Compiled frame)
- org.apache.jk.common.SocketConnection.runIt(java.lang.Object[])
@bci=8, line=866 (Interpreted frame)
- org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run()
@bci=167, line=684 (Interpreted frame)
- java.lang.Thread.run() @bci=11, line=595 (Interpreted frame)
##############################
This makes me think there is some issues with Apache - Tomcat connection
or maybe some SO configuration, because the number of requests is not
that high.
This is the configuration of the AJP connector on server.xml:
##############################
<Connector port="8080"
maxThreads="10" minSpareThreads="1" maxSpareThreads="1"
enableLookups="false" acceptCount="100"
debug="0"
disableUploadTimeout="true" />
##############################
And the forwarding in Apache is done through mod_proxy_ajp, like this:
##############################
ProxyPass /frontdipuleon ajp://localhost:8009/myapp
ProxyPassReverse /frontdipuleon ajp://localhost:8009/myapp
##############################
Any idea on what can be wrong? The only thing I tried now is setting a
connectionTimeout on the AJP connector, but I think this wouldn't tell
me the real cause of these problems. What else should I check?
Thanks in advance.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org