1. 使用 top 查看 CPU 占用情况,发现PID 31199 这个进程占用 CPU 过高。
2. 使用JPS 命令定位进程 31199 属于哪个项目,方便后续排查代码。
jps -l | grep 31199
3. 使用 top -Hp 命令查看进程 31199 的线程状态,可以看到线程 5935 占用 cpu 过高
top -Hp 31199
4.把线程号转换为 16 进制,方便下一步使用 jstack 名称搜索定位问题
printf "%x" 5935
5.使用 jstack 命令查看 31199 进程的 172f 线程的栈使用情况。
jstack 31199 | grep 172f -A 10