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
可以看到出問題的代碼。