当前位置:首页>Linux>Linux性能瓶颈速查!3个命令5分钟定位CPU/内存/磁盘问题

Linux性能瓶颈速查!3个命令5分钟定位CPU/内存/磁盘问题

  • 2026-10-21 13:28:51
Linux性能瓶颈速查!3个命令5分钟定位CPU/内存/磁盘问题

欢迎关注 有问题,留言、私信交流

Linux性能瓶颈速查!3个命令5分钟定位CPU/内存/磁盘问题

系统卡顿、服务响应慢找不到根因——盲目优化配置、升级硬件,结果问题依旧。3个命令就能精准定位CPU、内存、磁盘三大性能瓶颈,快速止损。

一、 CPU瓶颈:pidstat 揪出“吃资源”进程

top 只能看宏观CPU使用率,pidstat 直接定位到具体进程。



1
2
3
4
5
6
7
8

# 每1秒输出一次,共输出5次,监控所有进程的CPU使用
pidstat 1 5

# 只监控Java进程(指定进程名)
pidstat -C java 1 3

# 查看进程的用户态/内核态CPU占比(关键区分计算密集/IO密集)
pidstat -u -p [进程PID] 1


核心指标解读

  • • %usr 高:进程是计算密集型(如数据分析、编译),需优化算法或升级CPU
  • • %sys 高:进程频繁调用内核(如频繁读写文件),需排查IO效率

二、 内存瓶颈:free+vmstat 识别真内存不足

很多人看 free 只盯 used 列,其实**available 才是真正可用内存**;结合 vmstat 看swap交换,避免被缓存误导。



1
2
3
4
5

# 以GB为单位显示内存,重点看available
free -h

# 监控内存和swap交换,每1秒输出一次
vmstat 1


核心指标解读

  1. 1. available < 10% 总内存:真·内存不足,需关闭无用进程或扩容
  2. 2. vmstat 中 si/so 持续大于0:系统频繁读写swap分区,内存严重不足,优先解决内存问题(而非优化磁盘)

三、 磁盘瓶颈:iostat 定位IO满载分区

磁盘IO高不一定是读写量大,也可能是磁盘本身性能差。iostat 直接揪出高负载分区和原因。



1
2
3
4
5

# 监控所有磁盘,每1秒输出一次,重点看%util
iostat -x 1

# 只监控sda分区(系统盘)
iostat -x sda 1


核心指标解读

  • • %util 持续 > 80%:该磁盘已满载,服务响应慢大概率是IO等待
    • • 若 rMB/s/wMB/s 高:确实是读写量大,需优化存储(如分盘、用SSD)
    • • 若 rMB/s/wMB/s 低但 %util 高:磁盘性能差或有坏道,需检测磁盘健康

四、 实战排障流程

  1. 1. 先输 pidstat 1 2 → 看是否有进程占满CPU
  2. 2. 再输 free -h → 看 available 是否充足,vmstat 1 看swap是否频繁
  3. 3. 最后输 iostat -x 1 → 看磁盘 %util 是否超标

按这个顺序排查,90%的性能问题都能快速定位,不用再瞎猜。

避坑2个关键点

  1. 1. 别把缓存当内存不足:Linux会用空闲内存做缓存,available 足够就不用慌
  2. 2. 排查顺序别搞反:先CPU→内存→磁盘,多数情况下,内存不足会导致磁盘IO飙升,优先解决上游问题

点击下方 卡片关注订阅

推荐阅读:

  • Linux

一句话讲清楚Linux是什么?

【Linux命令基础】7个高频命令:覆盖80%日常场景

【Linux命令详解】文件查看比用6大命令:Head/tail/cat等,按需选择不踩坑!

欢迎 关注 视频号

最新文章

随机文章