https://blog.csdn.net/qq_24949727/article/details/70738723
javaweb 项目部署后发现很耗cpu,需要查出问题所在
写个测试程序,记相关步骤:
故意写个死循环
-
public class TestCpu { -
public static void main(String[] args) { -
while (true){ -
new Object(); -
} -
} -
}
终端:
top
查看消耗cpu的进程 PID=2864
ps -mp 2864 -o THREAD,tid,time 查看线程TID=2866
把线程ID转为16进制
printf "%x\n" 2866
然后查看堆栈信息
jstack 2864 |grep b32 -A 30