jstack+top定位性能问题
定位性能问题,尤其是cpu使用率过高时,经常需要查找cpu消耗较高的线程,然后查看其堆栈,从而进入代码定位问题。
该场景下, jstack+top是一种非常经典的方式。
jstack+top:
1、top -H 查看cpu占用较高的线程,记录十进制的线程id
2、jstack 将线程信息dump到文件中,在文件中根据线程id查找该线程的堆栈。 注意,jstack输出中线程id是16进制的,这里要做一次进制转换。
3、研究这个线程的堆栈