Linux CPU 飙升 排查五步法

本文介绍了五个步骤来诊断和解决Linux系统中应用进程和线程性能问题:利用`top`命令定位PID,`top-Hp`查看线程详情,将TID转为十六进制,使用`jstack`获取堆栈信息,最终根据堆栈信息进行代码问题分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

排查思路-五步法

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

找到对应代码,分析代码

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值