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


  通常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应用程序线程的信息,主要包括状态信息和锁信息





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值