获取visualvm中运行的非守护程序线程列表

时间:2012-01-24 09:23:33

标签: java multithreading daemon jvisualvm

我正在排除一个没有它应该是优雅的关闭,所以我想得到一个在jvisualvm(或其他)中运行非守护程序线程的列表来追捕罪魁祸首。

1 个答案:

答案 0 :(得分: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