Java项目线上CPU飙升原因排查

问题排查

1、核心排查步骤:执行‘top’命令,查看所有进程占系统CPU的排序,极大可能第一个就是咱们的Java进程,PID那列就是进程号,假设PID=1677。

2、执行‘top -Hp PID’命令,例如:top -Hp 1677,查看Java进程ID为1677下的所有线程占CPU的情况。执行cpu最高的线程对应的进程ID为1700。

3、执行“printf '%x' PID”命令:后续查看线程堆栈信息展示的都是十六进制,为了找到该线程的堆栈信息,需要把线程号转成16进制。例如,printf '%x' 1700 打印:6a4,那么在jstack中进程号就是6a4。

4、执行“jstack 1677 > x.txt”,将1677进程下信息记录到x.txt文本中。

5、通过“vim x.txt”命令打开x.txt文本,按下 “ / ” 进入搜索模式,输入 ‘6a4’匹配到该进程,找到有问题的代码行并排查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值