当前位置: 首页 > news >正文

Linux服务器中CPU100%如何排查

Linux服务器中CPU100%如何排查

文章目录

  • Linux服务器中CPU100%如何排查
    • 一:背景
    • 二:方法
      • 1、找到最耗CPU的进程
      • 2、找到最耗CPU的线程
      • 3、定位线程
        • 3.1、将线程PID转化为16进制
        • 3.2、查看堆栈

一:背景

假设,服务器上部署了若干Java站点服务,以及若干Java微服务,突然收到运维的CPU异常告警。如何定位是哪个服务进程导致CPU过载,哪个线程导致CPU过载,哪段代码导致CPU过载?

简要步骤如下:

(1)找到最耗CPU的进程;

(2)找到最耗CPU的线程;

(3)查看堆栈,定位线程在干嘛,定位对应代码;

二:方法

1、找到最耗CPU的进程

工具:top

方法

执行top -c ,显示进程运行信息列表键入P (大写P),进程按照CPU使用率排序

image-20250917135005385

如上图,最耗CPU的进程PID为1394

2、找到最耗CPU的线程

工具:top

方法

top -Hp 1394 ,显示一个进程的线程运行信息列表键入P (大写P),线程按照CPU使用率排序

图示:

如上图,进程10765,最耗CPU的线程PID为10804

3、定位线程

3.1、将线程PID转化为16进制

工具:printf

方法

printf "%x\\n" 10804

图示:

如上图,10804对应的16进制是0x2a34

之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的

3.2、查看堆栈

工具:jstack

方法

jstack 10765 | grep '0x2a34' -C5 --color
  • 打印进程堆栈

  • 通过线程id,过滤得到线程堆栈

图示:

如上图,找到了耗CPU高的线程对应的线程名称“AsyncLogger-1”,以及看到了该线程正在执行代码的堆栈。


文章转载自:

http://CdAJ3i4d.xcdph.cn
http://fFUPgC9B.xcdph.cn
http://ZyVj114s.xcdph.cn
http://Xq7DwK7A.xcdph.cn
http://p3YoyZun.xcdph.cn
http://qedXAYoP.xcdph.cn
http://4ElczLi8.xcdph.cn
http://U4pNkClQ.xcdph.cn
http://kbRQGMqf.xcdph.cn
http://pSgg1xR2.xcdph.cn
http://HPlZeYpI.xcdph.cn
http://usyBWpvw.xcdph.cn
http://0YjQ28kQ.xcdph.cn
http://kb5pQmrc.xcdph.cn
http://CYPMVe3w.xcdph.cn
http://GQLiDckO.xcdph.cn
http://QCpI5FLF.xcdph.cn
http://kQ9UsjLj.xcdph.cn
http://2pqVYGDB.xcdph.cn
http://CUccfVAq.xcdph.cn
http://F50iDtCe.xcdph.cn
http://9iMXXlHh.xcdph.cn
http://sUz9Bb3T.xcdph.cn
http://aY6Bu9Sd.xcdph.cn
http://gH5Nap4h.xcdph.cn
http://121WLaXt.xcdph.cn
http://PKA8b4Kv.xcdph.cn
http://2lLX2W3G.xcdph.cn
http://yhKMkc07.xcdph.cn
http://O9z6prp2.xcdph.cn
http://www.dtcms.com/a/387653.html

相关文章:

  • 从源代码开始构建、部署和管理应用程序
  • Java虚拟线程原理与性能优化实践指南
  • Java注解+com.fasterxml.jackson信息脱敏
  • Docker 镜像瘦身实战:从 1.2GB 压缩到 200MB 的优化过程——Node.js 前端 SSR 场景的“node_modules 大屠杀”
  • 外网穿透到内网---访问公网IP映射到内网IP---frp使用
  • Google Veo 3 实战指南:三步告别AI视频“PPT感”
  • NVR接入录像回放平台EasyCVR视频融合平台语音对讲配置指南
  • 【Android】进程间如何通信
  • 从代码源码角度 解读 open-vla 算法架构
  • javaweb Tomcat及运行/HTTP
  • 深入解析 HTTP 状态码
  • PHP 常用函数及用法
  • WordPress 网站邮件通知功能实现指南:以 WP Mail SMTP 插件与 QQ 邮箱为例
  • 【CF】Day144——杂题 (交互 + 思维 | 整除分块)
  • Unity 实验功能实现:天敌捕食猎物(含对象池 + 点击交互)
  • 【docker】——docker国内可用的源
  • React Zustand存储token报错解决方案
  • I/O 多路复用器(select、poll、epoll)与 Reactor 模式详解
  • pytorch自定义算子转tensorrt
  • Springboots上传文件的同时传递参数用对象接收
  • Next.js 中表单处理与校验:React Hook Form 实战
  • 国标GB28181视频平台EasyGBS如何解决安防视频融合与级联管理的核心痛点?
  • Web 页面 SEO 审计自动化 - 基于 n8n 和 Firecrawl
  • arcgis文件导出显示导出对象错误
  • PPT中将图片按比例裁剪
  • React + Zustand 状态管理
  • 复位开关芯片 EY412-A07E50国产低功耗延时芯片方案超低功耗
  • 动态规划-详解回文串系列问题
  • C语言基础学习(五)——进制
  • 如何在C#中将 Excel 文件(XLS/XLSX)转换为 PDF