Java应用CPU占用过高问题排查

时间:2025-03-11 10:02:59

一.问题描述

测试环境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查找问题所在的代码块;