jps、jstack指令使用
1、jps(java process status):获取当前所有java进程信息
一般用法:
1)jps
获取当前java进程pid和名称
2)jps -l
获取当前java进程pid和java应用的main方法所在package的类名
3)jps -v
获取当前java进程pid、应用名称、jvm参数(每个java进程对应一个jvm)
2、jstack:打印指定java进程的堆栈信息
一般用法:
1)jstack [pid]
输出当前进程jvm所有的线程堆栈信息(thread dump)
运行main方法,jps查看进程pid
jstack查看main线程堆栈信息
堆栈信息解释:
“Reference Handler”:线程名称
“daemon“:线程类型
“prio”:优先级,默认是5(10最高,1最低)
“tid”:jvm线程id,id=java.lang.Thread.getId()
“nid”:Native Thread Id,系统线程id(top命令查看的线程id)
in Object.wait():线程状态
[0x0000000019f7e000]:起始栈地址
java thread stack trace:执行堆栈,第二行开始到结束的一段信息