tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yann Rouillard <yann.rouill...@jouy.inra.fr>
Subject Re: High CPU Usage with Apache Portable Runtime
Date Thu, 21 Sep 2006 08:38:22 GMT
Yes from what I understand a native call is used when you use the apache 
portable runtime with tomcat.

Yann

David Delbecq a écrit :
> Nice, in a native call :/
> 
> "ajp-8009-Poller-0" daemon prio=5 tid=0x087670e0 nid=0x10 runnable
> [0xd4ccf000..0xd4ccfd98]
>     at org.apache.tomcat.jni.Poll.poll(Native Method)
>     at
> org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1153)
>     at java.lang.Thread.run(Thread.java:534)
> 
> can't help you then :)
> 
> Yann Rouillard a écrit :
>> Here is the jvm thread dump:
>>
>> Full thread dump Java HotSpot(TM) Client VM (1.4.2_11-b06 mixed mode):
>>
>> "ajp-8009-3" daemon prio=5 tid=0x083ee530 nid=0x12 in Object.wait()
>> [0xd4c4b000..0xd4c4bd98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd5e5c1f8> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.await(AprEndpoint.java:1255)
>>
>>     - locked <0xd5e5c1f8> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1280)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "ajp-8009-2" daemon prio=5 tid=0x087813b0 nid=0x11 in Object.wait()
>> [0xd4c8d000..0xd4c8dd98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd62a0060> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.await(AprEndpoint.java:1255)
>>
>>     - locked <0xd62a0060> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1280)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "ajp-8009-Poller-0" daemon prio=5 tid=0x087670e0 nid=0x10 runnable
>> [0xd4ccf000..0xd4ccfd98]
>>     at org.apache.tomcat.jni.Poll.poll(Native Method)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1153)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "ajp-8009-1" daemon prio=5 tid=0x087646c0 nid=0xf in Object.wait()
>> [0xd4d11000..0xd4d11d98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd906b2c0> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.await(AprEndpoint.java:1255)
>>
>>     - locked <0xd906b2c0> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1280)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "ajp-8009-Acceptor-0" daemon prio=5 tid=0x086bd478 nid=0xe runnable
>> [0xd4d53000..0xd4d53d98]
>>     at org.apache.tomcat.jni.Socket.accept(Native Method)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java:999)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "http-8080-1" daemon prio=5 tid=0x086b98d0 nid=0xd in Object.wait()
>> [0xd4d95000..0xd4d95d98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd8ff0bb8> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.await(AprEndpoint.java:1255)
>>
>>     - locked <0xd8ff0bb8> (a
>> org.apache.tomcat.util.net.AprEndpoint$Worker)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1280)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "http-8080-Sendfile-0" daemon prio=5 tid=0x083cf830 nid=0xc in
>> Object.wait() [0xd4dd7000..0xd4dd7d98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd8ff0c20> (a
>> org.apache.tomcat.util.net.AprEndpoint$Sendfile)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Sendfile.run(AprEndpoint.java:1486)
>>
>>     - locked <0xd8ff0c20> (a
>> org.apache.tomcat.util.net.AprEndpoint$Sendfile)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "http-8080-Poller-0" daemon prio=5 tid=0x083c4eb0 nid=0xb in
>> Object.wait() [0xd4e19000..0xd4e19d98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd8ff0c98> (a
>> org.apache.tomcat.util.net.AprEndpoint$Poller)
>>     at java.lang.Object.wait(Object.java:429)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Poller.run(AprEndpoint.java:1127)
>>     - locked <0xd8ff0c98> (a
>> org.apache.tomcat.util.net.AprEndpoint$Poller)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "http-8080-Acceptor-0" daemon prio=5 tid=0x083a1d58 nid=0xa runnable
>> [0xd4e5b000..0xd4e5bd98]
>>     at org.apache.tomcat.jni.Socket.accept(Native Method)
>>     at
>> org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java:999)
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=5
>> tid=0x0839d4b8 nid=0x9 waiting on condition [0xd4e9d000..0xd4e9dd98]
>>     at java.lang.Thread.sleep(Native Method)
>>     at
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1547)
>>
>>     at java.lang.Thread.run(Thread.java:534)
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x08116e10 nid=0x6 waiting on
>> condition [0x00000000..0x00000000]
>>
>> "Finalizer" daemon prio=8 tid=0x0810fba0 nid=0x4 in Object.wait()
>> [0xfc06d000..0xfc06dd98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd85bb9d0> (a java.lang.ref.ReferenceQueue$Lock)
>>     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:111)
>>     - locked <0xd85bb9d0> (a java.lang.ref.ReferenceQueue$Lock)
>>     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
>>     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>>
>> "Reference Handler" daemon prio=10 tid=0x0810f188 nid=0x3 in
>> Object.wait() [0xfc0cc000..0xfc0ccd98]
>>     at java.lang.Object.wait(Native Method)
>>     - waiting on <0xd85bba38> (a java.lang.ref.Reference$Lock)
>>     at java.lang.Object.wait(Object.java:429)
>>     at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:115)
>>     - locked <0xd85bba38> (a java.lang.ref.Reference$Lock)
>>
>> "main" prio=5 tid=0x080741c8 nid=0x1 runnable [0x08046000..0x08046ed0]
>>     at java.net.PlainSocketImpl.socketAccept(Native Method)
>>     at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:353)
>>     - locked <0xd62a0418> (a java.net.PlainSocketImpl)
>>     at java.net.ServerSocket.implAccept(ServerSocket.java:448)
>>     at java.net.ServerSocket.accept(ServerSocket.java:419)
>>     at
>> org.apache.catalina.core.StandardServer.await(StandardServer.java:388)
>>     at org.apache.catalina.startup.Catalina.await(Catalina.java:615)
>>     at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>
>>     at java.lang.reflect.Method.invoke(Method.java:324)
>>     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
>>     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
>>
>> "VM Thread" prio=5 tid=0x0810e340 nid=0x2 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x08118988 nid=0x8 waiting on
>> condition
>> "Suspend Checker Thread" prio=10 tid=0x081164a8 nid=0x5 runnable
>>
>>
>>
>> David Delbecq a écrit :
>>> Could you send us a few jvm thread dumps while the CPU usage, i bet this
>>> an be more helpful than an os dump.
>>> To generate a Thread dump, simply send the signal 3 to the java process
>>> (assuming you use a SUN jvm or derivative)
>>>
>>> Yann Rouillard a écrit :
>>>>>>> Did you tried it with Tomcat 5.5.17?
>>>>>> No but I can try. Some modifications have been on this area ?
>>>>>>
>>>>> Yes, a lots of them, see the:
>>>>> http://tomcat.apache.org/tomcat-5.5-doc/changelog.html
>>>>>
>>>>> The way how Poller is handled has changed, so just try the
>>>>> 5.5.17.
>>>> Ok, I have tried with 5.5.17 and the problem is still present.
>>>> The thread using the CPU is still the thread doing the polling:
>>>>
>>>> -----------------  lwp# 16 / thread# 16  --------------------
>>>>  fef3fff7 portfs   (6, 17, 86bf6b0, 2000, 1, d4ccfbb4)
>>>>  d52083d6 apr_pollset_poll (86bd6e0, 7d0, 0, d4ccfc04, d4ccfc10) + 1fe
>>>>  d524ccec Java_org_apache_tomcat_jni_Poll_poll (876717c, d4ccfc44,
>>>> 87086b8, 0, 7d0, 0) + 64
>>>>
>>>>
>>>> Yann
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> 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
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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
>>>
>>
>> ---------------------------------------------------------------------
>> 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
>>
> 
> 
> ---------------------------------------------------------------------
> 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
> 


---------------------------------------------------------------------
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


Mime
View raw message