日期:2014-05-16  浏览次数:20472 次

使用jstack分析java程序cpu占用率过高的问题

1,使用jps查找出java进程的pid,如3707

2,使用top -p 3707观察进程情况,然后Shift+h,显示该进程的所有线程。

3,找出CPU消耗较多的线程id,如3720,将3720转换为16进制0x7d0,注意是小写哦

4,使用jstack 3707 | grep -A 10 0x7d0 来查询出具体的线程状态。

?

通过这些线程状态便可基本定位问题之所在。