0

我的 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?

4

1 回答 1

0

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

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

于 2012-07-05T14:45:08.767 回答