我的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吗?
答案 0 :(得分:0)
如果您使用JVisualVM,您可以看到哪些线程处于活动状态并获得这些线程的堆栈跟踪。
您也可以启用CPU监控,但这会降低您的应用程序速度。 (如果没有使用它应该没问题)