Hi
We are having a problem with Tomcat 6 using the NIO (running on linux with Java
HotSpot(TM) 64-Bit Server VM (build 1.5.0_12-b04, mixed mode) that it consumes
all CPU after a few hours in production, prior to that we ran Tomcat 6 with AJP
and Apache 2.0 with mod_jk in front of it for over a month without any
problems. While it is consuming all CPU it still serves requests but obviously
much slower. During the last "episode" I collected some thread dumps over the
period of 10 - 15 minutes and found 3 runnable threads that were present in all
the dumps and were doing the exact same thing:
"http-8080-exec-41" daemon prio=1 tid=0x0000002ae320dad0 nid=0x12ac runnable
[0x0000000045c18000..0x0000000045c18c10]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:44)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:794)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
at java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
--
"http-8080-exec-41" daemon prio=1 tid=0x0000002ae320dad0 nid=0x12ac runnable
[0x0000000045c18000..0x0000000045c18c10]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:44)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:794)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
at java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
--
"http-8080-exec-41" daemon prio=1 tid=0x0000002ae320dad0 nid=0x12ac runnable
[0x0000000045c18000..0x0000000045c18c10]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:44)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:794)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
at java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
"http-8080-exec-29" daemon prio=1 tid=0x0000002ae4152d10 nid=0x6e3a runnable
[0x0000000043af7000..0x0000000043af7b90]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:44)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:794)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
at java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
"http-8080-exec-16" daemon prio=1 tid=0x0000002ae39bf030 nid=0x18d1 runnable
[0x0000000043cf9000..0x0000000043cf9e10]
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:44)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:794)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
at
org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164)
at java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95)
etc. Here is the connector configurations:
<Connector port="8080"
connectionTimeout="20000"
maxThreads="300"
enableLookups="false"
compression="5000"
protocol="org.apache.coyote.http11.Http11NioProtocol"
redirectPort="8443"
keepAliveTimeout="5000"
maxKeepAliveRequests="1000" />
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="300"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="100"
scheme="https"
secure="true"
SSLEnabled="true"
SSLCertificateFile="xyz.com.crt"
SSLCertificateKeyFile="xyz.com.key"
SSLPassword="" />
The server goes into this state very regularly, this configuration has been in
service for 3 days and it's goes into this state every 2 - 5 hours until
restarted.
Has anyone experience any similar behaviour? Any ideas or suggestions?
Thanks
Peter
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]