jstack监控java线程
1、使用命令找到要监控进程的pid
例如:ps -ef | grep tomcat
2、使用命令 jstack 3839(jstack 3839 > dump.txt,把线程信息进行重定向)
线程名称: RMI Scheduler(0)
优先级:prio=5,默认值为5(越大越高)
tid=0x00007f0d6902e800:jvm线程id,jvm内部线程的唯一标识
nid=0xf40:对应系统线程的id(Native Thread ID),和TOP命令查看线程的pid对应,不过此处是16进制(通过命令:top -H -p pid,可以查看该进程的所有线程信息)
线程状态:java.lang.Thread.State: WAITING (parking)
线程此时正在执行的方法,以及调用链
备注:
timed waiting:可能有问题的线程
blocked: 有问题的线程