Java线上应用故障排查:高CPU占用CPU飚满

1 篇文章 0 订阅

之前做的oa业务,上线的时候审批工作流所在的服务器,cpu飙到400%。

一般cpu彪满,频繁gc,都是死循环造成的,那么怎么排查cpu彪满的问题呢。

//top 显示进程信息

1.进入服务,使用top命令找到当前服务器进程列表,按一下P可以按照CPU进行排序。

//top -H -p [进程号],cpu使用最高的几个线程,定位到线程

2.使用top -H -p 13122命令找到当前进程的线程列表,查看CPU使用最高的线程号。

//printf “%x”  [线程号],将十进制的线程号转为16进制的线程号

3.我们获取的线程号是十进制,我们需要转换为16进制printf “%x” 13254//->33c6

//jstack [进程号] |grep [16进制线程号] -A 30,查询指定线程号后30行代码

4.jstack 13122 |grep 33c6 -A 30定位到异常代码段

//jstack [进程号] |grep [16进制线程号] -C 30,查询指定线程号前后30行代码

jstack 13122 |grep 33c6 -C 30

//jstack [进程号] |grep [16进制线程号]|[16进制线程号]|[16进制线程号] -C 30,查询多个指定线程

jstack 30342 |grep '30344|30345|30346|30347|30466'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值