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.根据堆栈信息分析问题

找到对应代码,分析代码

相关推荐
糖果店的幽灵几秒前
Spring AI 从入门到精通-Spring AI 是什么
java·人工智能·spring
XiYang-DING2 分钟前
【Java EE】TOCTOU
java·java-ee
.千余3 分钟前
【C++】 String 常用操作:增删查改 | 查找 | 截取 | IO
java·服务器·开发语言·c++·笔记·学习
长栎3 分钟前
面试官说你的单例线程不安全,你真能现场修好?
java
码云骑士5 分钟前
【Java基础】JDK安装常见问题教辅-从踩坑到排雷
java·开发语言
Sunia8 分钟前
《AgentX 专栏》09-MCP协议双向打通:让AgentX既能被Claude调用又能调度全球工具生态
java·架构
wyu7296112 分钟前
SpringBoot八股的一些概念笔记
java·面试
一只积极向上的小咸鱼17 分钟前
TOML、JSON、YAML、INI 配置文件格式总结
java·服务器·json
莫逸风18 分钟前
【AgentScope】4.会话(Session)详解
java·llm·agent·agentscope
吴阿福|一人公司27 分钟前
类变量和实例变量的命名规范有哪些具体的例子?
java·开发语言