更多请微信扫码关注
1:通过jps命令查看所有进程pid。
2:使用top -p pid 针对你所要查的pid查看这个进程的CPU和内存以及负载情况
如图:
使用top -p pid -H 查看针对每一个线程占用CPU情况进行查询
如果你发现某一个PID占用的CPU过高,就拿到这个PID转换成16进制
例如pid为12760转化成16进制31D8,大写换成小写
jstack 22821|grep -A 10 0x31d8
针对你的每个线程拿出占用CPU的堆栈信息,你可以根据这个去查找CPU的占用
如果你的内存占用较高,我比较喜欢使用jmap命令
jmap -histo:live 9652 | head -n 100
jmap -heap 12733