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

找到对应代码,分析代码

相关推荐
Kuo-Teng3 分钟前
LeetCode 198: House Robber
java·算法·leetcode·职场和发展·动态规划
q***725618 分钟前
Spring Boot + Vue 全栈开发实战指南
vue.js·spring boot·后端
小七mod19 分钟前
【Spring】Spring Boot自动配置的案例
java·spring boot·spring·自动配置·源码·ioc·aop
java干货20 分钟前
Spring Boot 为什么“抛弃”了 spring.factories?
spring boot·python·spring
红石榴花生油27 分钟前
Docker + Nginx 部署 Java 项目(JAR 包 + WAR 包)实战笔记
java·tomcat·maven
清晨细雨~31 分钟前
SpringBoot整合EasyExcel实现Excel表头校验
spring boot·后端·excel
带刺的坐椅31 分钟前
Solon AI 开发学习 - 1导引
java·ai·openai·solon·mcp
sg_knight33 分钟前
RabbitMQ 中的预取值(prefetch)详解:如何真正提升消费端性能?
java·spring boot·spring·spring cloud·消息队列·rabbitmq·预取值
Dxxyyyy42 分钟前
零基础学JAVA--Day34(Map接口+HashTable+HashMap+TreeSet+TreeMap+开发中如何选择集合实现类?(重要))
java·开发语言
spencer_tseng1 小时前
Tomcat Source Code Distributions
java·tomcat