Linux 性能排查的四个方向

线上变慢时,先判断瓶颈在哪个方向,再深入定位。

CPU

top -o %CPU

关注 load average 与 %us、%sy、%wa:%wa 高往往不是 CPU 问题,而是磁盘等待。

内存

free -h

available 才是真正可用的内存。buff/cache 占用高属于正常现象,不需要手动释放。

磁盘

df -h
iostat -x 1

%util 接近 100% 说明磁盘已成瓶颈,await 明显高于平时说明 I/O 排队严重。

网络

ss -s
ss -lntp

连接数异常时,先看 TIME_WAIT 与 ESTABLISHED 的数量,再结合 dmesg 确认是否触发过内核限制。

排查顺序

  1. top 看整体负载
  2. iostat / vmstat 确认是 CPU、内存还是 I/O
  3. ss 与 dmesg 排查连接与内核限制
  4. 最后再看应用日志与慢查询

一次只改一个变量,避免多个因素互相干扰。