当前位置:首页>Linux>Linux 性能排查:记住这套命令顺序,高 CPU 高内存秒定位(上)

Linux 性能排查:记住这套命令顺序,高 CPU 高内存秒定位(上)

  • 2026-10-06 00:03:36
Linux 性能排查:记住这套命令顺序,高 CPU 高内存秒定位(上)

服务器资源瓶颈是工作中最常见的告警类型之一。CPU飙高、内存占满、负载异常——这些症状可能由代码bug、异常流量、配置错误甚至外部攻击引起。快速准确定位问题根源,是每个Linux使用者的必备技能。本篇作为上篇,将重点聚焦高 CPU 问题,从系统指标、进程定位到线程溯源,带你完整掌握 CPU 性能瓶颈的标准化排查流程。

01
CPU 问题排查
排查命令整体顺序
命令
含义
①uptime
快速查看系统负载
②top
实时查看进程CPU占用
③ps aux --sort=-%cpu
找出CPU占用最高的进程
④top -H
查看线程级别CPU占用
1. uptime:快速了解系统负载,初步判断是否存在 CPU 拥堵。

输出解读:

字段
含义
14:41:04
当前系统时间
up 72 days, 21:44
系统连续运行时间
2 users
当前登录系统的用户数
load average: 0.00
1 分钟系统平均负载
0.00
5 分钟系统平均负载
0.00
15 分钟系统平均负载

2. top:Linux 最常用的实时进程监控工具,支持排序、筛选、批量输出,方便定位高耗 CPU 进程。

常用命令:

✅ 按 CPU 使用率排序(批处理模式)

# 按CPU排序,取占用最高的前20进程top -b -n 1 -o %CPU | head-20
输出结果:

✅ 按内存使用率排序

 # 按内存排序,取占用最高前20进程top -b -n 1 -o %MEM | head -20 
输出结果:

✅ 过滤指定进程(按进程名筛选)

# 查看指定进程信息top -b -n 1 -p $(pgrep -d',' sleep) | head -20 
输出结果:

✅ 指定用户

# 查看root用户进程,取前20行top -b -n 1 -u root | head -20
输出结果:

✅ 多批次采样(用于记录)

# 连续采样5次CPU/内存数据并保存到文件top -b -n 5 -d 3 > /tmp/top_output.txt 
输出结果:

✅ 显示特定进程的树形关系

 # 筛选包含 sleep 的进程信息top -b -n 1 | grep --line-buffered sleep

输出结果:

✅ 高亮变化区域

# 仅提取top表头与CPU信息 top -b -n 3 -d 2 | awk '/^top -/{print; for(i=1;i<=7;i++){getline; print}}' 
输出结果:

3. 线程级别 CPU 分析:定位到进程后,进一步查看内部线程,确认是哪个线程导致 CPU 飙高。

常用命令:

① top线程视图, 然后按 P 排序
 # 显示进程下的所有线程信息top -H 
输出结果:
②查看特定进程的线程
# 查看指定PID进程的线程详情ps -Tp <pid>  # 过滤显示指定PID的进程/线程信息ps -eLf | grep <pid>  
输出结果:

③pidstat查看线程

# 每隔5秒输出线程级别的CPU使用情况pidstat -t 5
输出结果:
④找出CPU占用高的线程
# 按CPU排序,展示占用最高的前20个线程top -b -n 1 -H | sort -k9 -rn | head -20
输出结果:
⑤修正分隔符,按CPU使用率正确排序
# 格式化输出线程信息,按CPU使用率排序,取前20条top -b -n 1 -H | awk '/^[ ]*[0-9]+/ {    pid=$1    cpu=$9    cmd=$12    # 简化输出    printf "CPU:%5s  PID:%6s  %s\n", cpu, pid, cmd}' | sort -t: -k2 -rn | head -20
输出结果:
END
○ 燕山大学理学院教授杨国春、罗格斯大学物理系教授朱黎等由独特B-C框架驱动高双极性迁移率的Al₂B₁₂C
○ 浙江大学材料学院教授王勇、研究员袁文涛、研究员韩仲康等由原位扫描透射电子显微镜和粒子群优化技术确定的CeO₂(100)表面重构○ 中国科学院院士、浙江大学物理学院院长林海青;中国科学院深圳先进技术研究院研究员钟国华等三维碳结构中被预测存在100 K以上的常压高温超导电性

最新文章

随机文章