1.$ jps 找出java 进程===》 ps -ef|grep 15460 排查线程,找到目标进程

2.$ ps -mp 15460 -o THREAD,tid,time | sort -k2 -r | head -n 20
找到该线程使用CPU 最高的线程

3. 进入堆栈中查看,例如tid=16132 -->换算16进制=3F04;执行 $ jstack 15460 | grep "0x3F04" -A 10 ,即可得到堆栈日志

本文介绍了一套针对Java进程的诊断流程,包括使用jps查找进程,通过ps命令定位高CPU占用线程,以及利用jstack深入分析线程堆栈,帮助开发者快速定位和解决问题。
1.$ jps 找出java 进程===》 ps -ef|grep 15460 排查线程,找到目标进程

2.$ ps -mp 15460 -o THREAD,tid,time | sort -k2 -r | head -n 20
找到该线程使用CPU 最高的线程

3. 进入堆栈中查看,例如tid=16132 -->换算16进制=3F04;执行 $ jstack 15460 | grep "0x3F04" -A 10 ,即可得到堆栈日志

2186

被折叠的 条评论
为什么被折叠?