在jvisualvm中获取正在运行的非守护线程列表

6

我正在解决一个关机问题,但它并不像应该那样优雅,因此我想获取在jvisualvm(或其他工具)中运行的非守护线程列表,以便找出罪魁祸首。


1
您可以按下ctrl+break键,以获取所有正在运行的线程及其附加信息的清单 - 这不是最舒适的工具,但保证可以工作并完成所需任务。 - Voo
1
谢谢!(备注:在Linux上是`ctrl-') - Rom1
1个回答

1

jstack会转储所有线程,其中有一段文本可以告诉它是否是守护进程。

(jvisualvm在“ThreadDump”中产生相同的输出-请参阅此链接以获取更多有用的文档)

 "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

2
我认为你的意思是 jstack,而不是 jstat - ZhekaKozlov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接