Linux CPU 飙升 排查五步法

排查思路-五步法

1. top命令定位应用进程pid

找到最耗时的CPU的进程pid

复制代码
top

2. top-Hppid定位应用进程对应的线程tid

找到最消耗CPU的线程ID

复制代码
// 执行 top -Hp [pid] 定位应用进程对应的线程 tid
// 按shift + p 组合键,按照CPU占用率排序
> top -Hp 11168

3. printf"%x\n"tid将tid转换为十六进制

将线程pid转换为16进制

复制代码
// printf "%x\n" [tid]  将tid转换为十六进制
> printf "%x\n" 26215
6667

4.jstackpid|grep-A10tid的十六进制打印堆栈信息

查看线程的堆栈信息

复制代码
// jstack [pid] | grep -A 10 [tid的十六进制]  打印堆栈信息
> jstack 26215 | grep -A 10 6667

可以查看到代码具体代码行报错

5.根据堆栈信息分析问题

找到对应代码,分析代码

相关推荐
wdfk_prog5 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长6 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
这个DBA有点耶8 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_9 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky9 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽11 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
C137的本贾尼12 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly12 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan12 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文
Tim_1012 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法