https://issues.apache.org/bugzilla/show_bug.cgi?id=44989
Summary: using NIO connector with compression consumes all CPU Product: Tomcat 6 Version: 6.0.16 Platform: PC OS/Version: Linux Status: NEW Severity: critical Priority: P1 Component: Connectors AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Created an attachment (id=21957) --> (https://issues.apache.org/bugzilla/attachment.cgi?id=21957) JConsole overview Hi, i migrated from version 6.0.14 to version 6.0.16, and configured tomcat to use NIO connector and compression on, with that i'm getting a thread name 'http-exec-80-2' that consumes 49-50% of CPU, and the thread 'http-80-ClientPoller' that consumes 46-48% of CPU, with this i have a jvm that consumes 100% o my CPU. uname -a output: Linux 2.6.23.1-10.fc7 #1 SMP Fri Oct 19 15:39:08 EDT 2007 i686 i686 i386 GNU/Linux java -version output: java version "1.5.0_15" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04) Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode) http-exec-80-2 stack: org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:806) org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126) org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164) java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95) org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122) org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:390) org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1079) org.apache.coyote.Response.action(Response.java:183) org.apache.coyote.Response.finish(Response.java:305) org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276) org.apache.catalina.connector.Response.finishResponse(Response.java:492) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:310) org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:879) org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2080) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) java.lang.Thread.run(Thread.java:595) sometimes the stack of http-exec-80-2 is just changing from this to above: org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:620) org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:46) org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:803) org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126) org.apache.coyote.http11.filters.GzipOutputFilter$FakeOutputStream.write(GzipOutputFilter.java:164) java.util.zip.GZIPOutputStream.finish(GZIPOutputStream.java:95) org.apache.coyote.http11.filters.GzipOutputFilter.end(GzipOutputFilter.java:122) org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:390) org.apache.coyote.http11.Http11NioProcessor.action(Http11NioProcessor.java:1079) org.apache.coyote.Response.action(Response.java:183) org.apache.coyote.Response.finish(Response.java:305) org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:276) org.apache.catalina.connector.Response.finishResponse(Response.java:492) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:310) org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:879) org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2080) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) java.lang.Thread.run(Thread.java:595) http-80-ClientPoller stack: sun.nio.ch.PollArrayWrapper.poll0(Native Method) sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100) sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56) sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:1473) java.lang.Thread.run(Thread.java:595) attached are the screenshots of JConsole from where you can see the graphs... -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]