2012-01-24 48 views
4

我正在解決一個並不像應該那樣優雅的關閉的問題,所以我想要獲取jvisualvm(或其他)中正在運行的非守護程序線程的列表以追捕罪魁禍首。在jvisualvm中獲取正在運行的非守護程序線程的列表

+1

你可以按ctrl + break以獲得所有正在運行的線程的列表並添加附加信息 - 不是最舒適的工具,但保證能夠正常工作,並且能夠滿足您的需求。 – Voo

+1

謝謝!(注意我自己:它是Linux上的「ctrl- \」) – Rom1

回答

2

jstat轉儲全部線程,有一個文本,如果它是守護進程與否會告訴

jvisualvm產生相同的輸出在「ThreadDump'- See this link for more useful documentation

"Reference Handler" daemon prio=10 tid=0x00a98400 nid=0x1ee8 in Object.wait() [0x00b6f000] 
      java.lang.Thread.State: WAITING (on object monitor) 
       at java.lang.Object.wait(Native Method) 
       at java.lang.Object.wait(Object.java:485) 
       at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) 
       - locked <0x19835fa0> (a java.lang.ref.Reference$Lock) 

    "VM Thread" prio=10 tid=0x00a95800 nid=0x264 runnable 
+1

我想,你的意思是'j堆棧「,而不是」jstat「 – ZhekaKozlov

相關問題