一.问题描述
测试环境CPU突然升高,日志查询无异常,可以通过使用jvm的调试工具定位问题。
二.解决思路
1.定位java服务进程
2.定位java线程
3.定位代码块
三.解决步骤
1.定位进程
top
获取cpu占用高的进程pid
2.定位线程
top -H -p <PID>
转16进制
printf "0x%x\n" <线程TID>
3.定位代码
jstack -l <pid> >>
目的:将当前堆栈信息保存为文件,通过16进制的TID查找问题所在的代码块;