一.问题描述 测试环境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> >> jstackLog.out 目的:将当前堆栈信息保存为文件,通过16进制的TID查找问题所在的代码块;