15

I see in JConsole that I still have 2 non daemon threads but I can't find out which exactly (total number of thread is beyond 30).
Visual VM doesn't provide such information.

Bax
  • 4,260
  • 5
  • 43
  • 65

2 Answers2

22

Run:

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

This will dump all the thread of a given Java PID, filter lines with thread names and filter out non-daemon ones.

Remove -v to print daemon threads only.

Tomasz Nurkiewicz
  • 334,321
  • 69
  • 703
  • 674
2

Take a thread dump in VisualVM. Daemon threads have the word 'daemon' next to the thread name.

"Default RequestProcessor" daemon prio=1 tid=101e58000 nid=0x124d86000 runnable [124d85000]
Tomasz Nurkiewicz
  • 334,321
  • 69
  • 703
  • 674
Tomas Hurka
  • 6,723
  • 29
  • 38