Мониторинг Java-потоков.Как узнать не живые темы демона? - PullRequest
14 голосов
/ 16 декабря 2011

Я работаю с многопоточной программой. Я вижу в JConsole, что у меня все еще есть 2 потока, не являющихся демонами, но я не могу точно определить, какие именно (общее количество потоков превышает 30). Visual VM не предоставляет такую ​​информацию.

Ответы [ 2 ]

20 голосов
/ 16 декабря 2011

Пробег:

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

Это приведет к сбросу всего потока с заданным PID Java, фильтрации строк с именами потоков и отфильтровыванию недемоновых.

Удалить -v только для печати потоков демона.

2 голосов
/ 17 декабря 2011

Возьмите дамп потока в VisualVM. У потоков демона рядом с именем потока есть слово daemon.

"Default RequestProcessor" daemon prio=1 tid=101e58000 nid=0x124d86000 runnable [124d85000]
...