线上CPU飚增排查思路

6 篇文章 0 订阅

        线上是我们最敬畏、也是出问题最难排查的环境,比较常见的一个问题就是线上服务器CPU使用率突然飚增,导致机器频繁预警,常见的CPU使用率飚增原因有以下这些:

  • 应用出现频繁GC,且每次GC清理效率较低;
  • 在解析文档时,需要进行大量的序列化操作
  • 加解密
  • 高并发,线程上下文切换、抢锁、状态变化频繁;
  • 代码运行出现死循环

这个时候就需要上服务器排查一下了,整理了一下简单的排查步骤:

  1. 登录服务器,使用top -c命令查看进程使用的CPU情况,定位到CPU使用率最高的进程
  2. top -Hp 进程id,打印出该进程的线程运行信息列表,找到CPU占有率最高的线程
  3. 执行 “jstack 进程号 | grep 线程ID” 查找某进程下指定线程ID的线程堆栈信息,如果有显示"VM Thread"就代表这是虚拟机GC回收线程
  4. 若为GC回收导致,可执行“jstat -gcutil 线程号 统计间隔毫秒"查询GC情况
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值