jdk 自带工具
1、通过top找到CPU占用率高的进程
2、通过top -Hp pid命令查看CPU占比靠前的线程ID
3、再把线程ID转化为16进制,printf “0x%x\n” 74317,得到0x1224d
4、通过命令jstack 72700 | grep ‘0x1224d’ -C5 --color找到有问题的代码
5、执行jstat -gcutil 进程号 例子: jstat -gc -t 11656 1000 30
6、执行jmap -dump:format=b,file=filename.dump 进程号
7、cmd 执行jvisualvm 导入 dump 文件
8、-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=E:/dumps/
arthas 阿里开源项目
dashboard thread 线程号