CPU飙高调试
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。
top命令查看进程占用CPU
显示线程列表
ps -mp pid -o THREAD,tid,time
将需要的线程ID转换为16进制格式:
printf "%x\n" tid
打印线程堆栈信息
jstack pid|grep tid -A 30
可以看到出问题的代码。
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。
ps -mp pid -o THREAD,tid,time
printf "%x\n" tid
jstack pid|grep tid -A 30
可以看到出问题的代码。