当前位置:首页>Linux>Linux性能突然变慢?这套“1 分钟诊断法”我一直在用

Linux性能突然变慢?这套“1 分钟诊断法”我一直在用

  • 2026-09-10 07:01:06
Linux性能突然变慢?这套“1 分钟诊断法”我一直在用
这套 Linux 性能诊断 1 分钟法 的目标只有一个:

在 60 秒内,判断问题是在 CPU、内存、IO、网络,还是进程本身。

不求定位到代码行,但要 快速缩小 80% 的排查范围。


一、先看全局:系统真的“忙”吗?

1️⃣ uptime —— 判断负载是否异常

uptime

示例输出:

load average: 6.23, 5.89, 5.12

怎么看?

  • load ≈ CPU 核数 → 正常

  • load ≫ CPU 核数 → 系统压力大

  • load 持续升高 → 慢性问题

⚠️ 误区Load 高 ≠ CPU 一定高可能是 IO 阻塞 / 内存抖动。


2️⃣ top —— 第一次“扫雷”

top

关注三件事:

  • load average

  • CPU 使用率

  • 是否有“显眼的异常进程”

此时 不要急着 kill,只是建立直觉。


二、内核有没有在“报警”?

3️⃣ dmesg | tail —— 先排除硬伤

dmesg | tail

重点关注:

  • Out of memory

  • Killed process

  • 磁盘 I/O error

  • 文件系统只读(read-only)

如果这里已经在报错,性能问题往往只是“结果”。


三、CPU:是真忙,还是“假忙”?

4️⃣ mpstat -P ALL 1 —— 每个 CPU 核心都在干嘛?

mpstat -P ALL 1

关键指标:

  • %usr:用户态

  • %sys:内核态

  • %iowait:等 IO

判断逻辑:

  • usr 高 → 业务计算密集

  • sys 高 → 系统调用 / 网络 / 锁

  • iowait 高 → IO 才是真凶


5️⃣ pidstat 1 —— 谁在烧 CPU?

pidstat 1

你要找的是:

  • 持续占用 CPU 的 PID

  • 用户态 or 内核态为主

这是从“系统视角”切换到“进程视角”的关键一步。


四、内存:不是 free 小就有问题

6️⃣ free -m —— 看 available,不看 free

free -m

重点:

  • available 才是可用内存

  • swap 是否被使用

Linux 会 主动用内存做缓存,这是好事。


7️⃣ vmstat 1 —— 内存有没有在“抖”

vmstat 1

关键字段:

  • si / so:Swap In / Out

  • r:运行队列

  • b:阻塞进程

⚠️如果 si/so 持续不为 0,性能一定会抖。


五、IO:最容易被忽略的性能杀手

8️⃣ iostat -xz 1 —— 磁盘是不是在拖后腿?

iostat -xz 1

重点指标:

  • %util → 是否接近 100%

  • await → IO 延迟

  • r/s w/s → IO 模式

经验判断:

  • util 高 + await 高 → 磁盘瓶颈

  • util 不高但 await 高 → 后端存储慢(云盘常见)


六、网络:慢不一定是带宽

9️⃣ sar -n DEV 1 —— 网卡层面

sar -n DEV 1

关注:

  • rx/tx 流量

  • dropped / errors


🔟 sar -n TCP,ETCP 1 —— TCP 在不在“挣扎”

sar -n TCP,ETCP 1

重点:

  • retrans(重传)

  • listen overflow

  • half-open 连接

网络慢,很多时候是 TCP 在自救。


七、最后再回到 top(第二次)

现在你已经知道:

  • 是 CPU / 内存 / IO / 网络

  • 哪个指标异常

  • 哪个进程最可疑

这时再看一次 top,你会发现:

你不再是“看热闹”,而是在“验证判断”。


总结:这套方法为什么好用?

✔ 不依赖监控✔ 适合 SSH 上线排障✔ 适合事故现场✔ 适合新人形成系统观

一句话心法:

先系统,后子系统;先现象,后原因;先缩小范围,再深入分析。


彩蛋(进阶延伸)

  • CPU 深入:perf top / perf record

  • IO 深入:blktrace

  • 内存深入:slabtop

  • 网络深入:ss / tcpdump


参考:Brendan Gregg「Linux Performance Analysis in 60 Seconds」

文章推荐

 Linux故障排查瑞士军刀-工程师实战版
Linux网络诊断-自顶向下逐层排障的工程方法论和工具
SSH 常用命令行参数详解:从能连上到玩出花

最新文章

随机文章