You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by daniel steel <se...@yahoo.com> on 2007/12/21 19:32:52 UTC
jstack dump and cpu usage
all,
We are running tomcat 6.0.14 (jdk 1.6.03) on Windows server with NIO connector. After some time, one of the thread starts using 50% of the cpu and that thread never stops serving.I was able to match the thread id from process explorer with nid of jstack thread dump and this is the jstack thread dump taken at different intervals. any ideas on whats hapeping will be helpful.
thanks
dan
dump 1 at 0 mintues
http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
java.lang.Thread.State: RUNNABLE
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)
at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.finish(Response.java:305)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
dump 2 at 5 minutes
"http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
java.lang.Thread.State: RUNNABLE
at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
- locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
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)
at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.finish(Response.java:305)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
dump 3 at 10 minutes
"http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
java.lang.Thread.State: RUNNABLE
at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
- locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
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)
at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
at org.apache.coyote.Response.action(Response.java:183)
at org.apache.coyote.Response.finish(Response.java:305)
at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
---------------------------------
Never miss a thing. Make Yahoo your homepage.
Re: jstack dump and cpu usage
Posted by daniel steel <se...@yahoo.com>.
i haven't got a chance to look at the client end but when i log on to tomcat manager / status, i see a jsp that has been running for a long time with S ( service) as stage.
thanks
dan
Alan Chaney <al...@compulsivecreative.com> wrote: What exactly do you mean by 'never stops serving' - do you mean that the
page GET never completes? The browser just hangs at that page? Or that
you have observed a stream of data.
Regards
Alan Chaney
daniel steel wrote:
> all,
> We are running tomcat 6.0.14 (jdk 1.6.03) on Windows server with NIO connector. After some time, one of the thread starts using 50% of the cpu and that thread never stops serving.I was able to match the thread id from process explorer with nid of jstack thread dump and this is the jstack thread dump taken at different intervals. any ideas on whats hapeping will be helpful.
>
> thanks
> dan
>
> dump 1 at 0 mintues
>
> http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
>
> dump 2 at 5 minutes
>
> "http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
> - locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
> dump 3 at 10 minutes
>
> "http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
> - locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
> ---------------------------------
> Never miss a thing. Make Yahoo your homepage.
>
> !DSPAM:476c079364063033718476!
>
---------------------------------------------------------------------
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
---------------------------------
Looking for last minute shopping deals? Find them fast with Yahoo! Search.
Re: jstack dump and cpu usage
Posted by Alan Chaney <al...@compulsivecreative.com>.
What exactly do you mean by 'never stops serving' - do you mean that the
page GET never completes? The browser just hangs at that page? Or that
you have observed a stream of data.
Regards
Alan Chaney
daniel steel wrote:
> all,
> We are running tomcat 6.0.14 (jdk 1.6.03) on Windows server with NIO connector. After some time, one of the thread starts using 50% of the cpu and that thread never stops serving.I was able to match the thread id from process explorer with nid of jstack thread dump and this is the jstack thread dump taken at different intervals. any ideas on whats hapeping will be helpful.
>
> thanks
> dan
>
> dump 1 at 0 mintues
>
> http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
>
> dump 2 at 5 minutes
>
> "http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
> - locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
> dump 3 at 10 minutes
>
> "http-8080-exec-5" daemon prio=6 tid=0x308d2400 nid=0x167c runnable [0x323ef000..0x323efb18]
> java.lang.Thread.State: RUNNABLE
> at org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:612)
> - locked <0x178afd28> (a org.apache.coyote.http11.InternalNioOutputBuffer)
> 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)
> at org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122)
> at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:396)
> at org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1080)
> at org.apache.coyote.Response.action(Response.java:183)
> at org.apache.coyote.Response.finish(Response.java:305)
> at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276)
> at org.apache.catalina.connector.Response.finishResponse(Response.java:486)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:287)
> at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:887)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:696)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2009)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> at java.lang.Thread.run(Thread.java:619)
>
> ---------------------------------
> Never miss a thing. Make Yahoo your homepage.
>
> !DSPAM:476c079364063033718476!
>
---------------------------------------------------------------------
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