记录一次java线上排查cpu爆满

当遇到Java应用的CPU使用率达到190%,通过Linux的`top`命令观察服务器状态,接着使用`ps`和`top -Hp`定位高CPU占用的进程和线程。利用线程ID转换工具将10进制转16进制,然后用`jstack`打印堆栈信息,结合输出找到导致死循环的代码位置,从而解决CPU爆满问题。
摘要由CSDN通过智能技术生成

首先cpu爆满一般是出现循环无法结束的情况,我们常说的死循环,我们还是查看linux进程和进程对应的线程,用堆栈信息打印当前运行情况,不多说,看命令:

1.先top看看当前服务器整体情况,双核cpu用到190%多,虽然内存没有满,但cpu基本处于爆满状态

 

2. 先查进程:  ps -ef|grep java 或者之前的top命令也可查

3.查进程对应线程,按cpu使用率排序:top  -Hp  2992

4.线程号需要转换成16进制,网上有在线工具,例如

5.打印堆栈信息:jstack 2992|grep -C30 cb9

这样就能定位问题大致出现在哪里 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值