15

我在 JConsole 中看到我仍然有 2 个非守护线程,但我无法找出确切的线程(线程总数超过 30)。
Visual VM 不提供此类信息。

4

2 回答 2

21

跑:

$ jstack PID | grep tid= | grep -v daemon

这将转储给定 Java PID 的所有线程,过滤带有线程名称的行并过滤掉非守护进程。

删除-v以仅打印守护线程。

于 2011-12-16T16:26:23.017 回答
2

在 VisualVM 中进行线程转储。守护线程daemon在线程名称旁边有单词“ ”。

"Default RequestProcessor" daemon prio=1 tid=101e58000 nid=0x124d86000 runnable [124d85000]
于 2011-12-17T15:19:51.937 回答