您的位置:首页 > 编程语言 > Java开发

寻找java应用的性能瓶颈----CPU消耗分析

2014-03-06 21:28 316 查看
  通常Linux的CPU主要用于中断、内核、用户进程的处理,优先级由高到低为中断>内核>用户进程

1.利用top或pidstat方式查看CPU消耗情况

1)分析us用户进程,找到十进制PID值,并转化为16进制的值,通过kill -3 [javapid]或jstack的方式dump出应用的java线程信息,通过之前转化的16进制值找到对应的nid值的线程,该线程即为消耗CPU的线程。【多次尝试】

ex.PID=26697转化为十六进制的值为0x6849

结合java thread dump(jstack pid | grep ‘nid=0x6849’)找到此线程.

除了jstack外可以借助商业工具vtune

2)sy系统进程

通过kill -3 [javapid]或jstack -l [javapid]导出java应用程序线程的信息,主要包括状态信息和锁信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  性能 cpu java