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