Linux CPU 飙升 排查五步法

排查思路-五步法

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

找到最耗时的CPU的进程pid

复制代码
top

2. top-Hp[pid]定位应用进程对应的线程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.jstack[pid]|grep-A10[tid的十六进制]打印堆栈信息

查看线程的堆栈信息

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

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

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

找到对应代码,分析代码

相关推荐
掘金-我是哪吒6 分钟前
第378集设备服务接入系统Java微服务后端架构实战
java·开发语言·spring·微服务·架构
百万彩票中奖候选人10 分钟前
迁移 Docker 存储目录
java·docker·eureka
一颗宁檬不酸11 分钟前
Java Web 踩坑实录:JSTL 标签库 URI 解析失败(HTTP 500 错误)完美解决
java·开发语言·前端
西岭千秋雪_11 分钟前
MySQL日志梳理(服务器层)
java·运维·服务器·数据库·mysql
有一个好名字16 分钟前
Java 高性能序列化框架 Kryo 详解:从入门到实战
java·开发语言
爬山算法32 分钟前
Redis(166)如何使用Redis实现实时统计?
java·redis·bootstrap
better_liang33 分钟前
每日Java面试场景题知识点之-Spring Boot微服务配置管理
java·spring boot·微服务·面试题·配置管理
seven97_top34 分钟前
数据结构——树
java·数据结构
凛冬君主35 分钟前
探索 Spring 的基础依赖与 Spring Boot 依赖
java·spring boot·spring
谷粒.37 分钟前
让缺陷描述更有价值:测试报告编写规范的精髓
java·网络·python·单元测试·自动化·log4j