诊断为什么java on Centos(Tomcat)在闲置时使用150%的CPU - JConsole?

时间:2012-07-05 14:42:30

标签: java tomcat centos

我的Tomcat / Centos服务器上的Java进程在空闲时占用150%的CPU(没有人登录我们的应用程序)

 PID  USER      PR  NI  VIRT  RES  SHR S %CPU  %MEM    TIME+  COMMAND                                                                                                                            
16917 administ  20   0 8936m 470m  12m S 141.8  3.0  22:29.31 /usr/java/jdk1.6.0_31/bin/java 

我可以使用JConsole连接到java实例,我可以看到正在运行的线程列表,但是如何确定哪些线程/任务正在使用所有CPU?
注意:CPU问题似乎不是由于GC。

我可以打电话给MBean吗?

1 个答案:

答案 0 :(得分:0)

如果您使用JVisualVM,您可以看到哪些线程处于活动状态并获得这些线程的堆栈跟踪。

您也可以启用CPU监控,但这会降低您的应用程序速度。 (如果没有使用它应该没问题)