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

找到对应代码,分析代码

相关推荐
两个蝴蝶飞4 小时前
Java量化系列(四):实现自选股票维护功能
java·经验分享
短剑重铸之日5 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖6 小时前
Java--多线程
java
Dreamboat-L6 小时前
云服务器上部署nginx
java·服务器·nginx
长安er6 小时前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
cici158747 小时前
C#实现三菱PLC通信
java·网络·c#
k***92168 小时前
【C++】继承和多态扩展学习
java·c++·学习
weixin_440730508 小时前
java结构语句学习
java·开发语言·学习
JIngJaneIL8 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_8 小时前
Spring AI 源码大白话解析
java·人工智能·spring