ubuntu,11.04,11.10。tomcat 7.0.25-7.0.28,jdk sun 1.6_30 - 1.6_33。
解压,删除 webapp 文件夹。在 catalina 启动后 top 显示在 1cpu x64 4 核上 tomcat 占用了 170% 的 CPU。在 2cpu x64 4core 上显示高达 400%。
tomcat 中没有安装任何应用程序。试图找出消耗 CPU 的线程 - 下面是 5 个顶级线程:
"VM Periodic Task Thread" prio=10 tid=0x0000000040a7f000 nid=0x166c waiting on condition
"ajp-bio-8009-AsyncTimeout" daemon prio=10 tid=0x00007feaf0666800 nid=0x16ad sleeping[0x00007feafe011000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
at java.lang.Thread.run(Thread.java:662)
"http-bio-8080-AsyncTimeout" daemon prio=10 tid=0x000000004204f800 nid=0x16ab waiting on condition [0x00007feafead1000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.tomcat.util.net.JIoEndpoint$AsyncTimeout.run(JIoEndpoint.java:148)
at java.lang.Thread.run(Thread.java:662)
"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=10 tid=0x0000000041d1b800 nid=0x16a9 sleeping[0x00007feafe405000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1517)
at java.lang.Thread.run(Thread.java:662)
"VM Thread" prio=10 tid=0x0000000040a39000 nid=0x1665 runnable
看起来没什么有趣的。所以,我被困住了。有谁知道去哪里更进一步?还有一件事:有几个设置几乎相同的虚拟盒子 - 从来没有看到如此巨大的 CPU 消耗。