1.首先用top命令查找资源占用多的进程ID。
2. top -H -p xxx(进程ID) 或者 ps mp pid -o THREAD,tid 查看进程里线程的资源占用分布
H :显示全部线程
p:查看指定进程的资源占用情况
这一步主要就是看看哪些个线程占用资源比例大,然后在第3步中进行查找,ID要转换成16进制.
例如上面发现线程13938 占用多,则 nid=3672
打印进程的线程堆栈信息
3. jstack XXX(进程ID)|less
如果目标VM是64位,则加参数 -J-d64
less分页显示
4.查找资源占用最多的线程ID对应的堆栈信息,注意:线程ID要转换成16进制。nid=3672