2012-07-05 48 views
0

我的Tomcat/Centos的服務器上的Java進程正在採取150%的CPU在空閒時(沒有人登錄到我們的應用程序)診斷爲什麼java在Centos(Tomcat)上空閒時使用150%的CPU - JConsole?

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

+2

這是最近的嗎?可以簡單地說就是跳躍問題... – Mike 2012-07-05 14:44:38

+0

看起來像是超躍! – Black 2012-07-05 16:04:49

回答

0

如果使用JVisualVM,您可以看到哪些線程處於活動狀態並獲取這些線程的堆棧跟蹤。

您也可以啓用CPU監視,但這會減慢您的應用程序。 (如果它的用處不大,應該沒問題)

+0

我喜歡VisualVM - 但在這種情況下,問題是Linux上的Java中的閏秒錯誤。不管怎麼說,還是要謝謝你 – Black 2012-07-05 16:08:01

相關問題