Linux性能排查实战:从“系统慢”到精准定位

大家好,我是刘叨叨,一个致力于让碎片化技术系统性的运维人。

监控大盘一片"绿色",业务却喊"卡爆了"?别慌,今天分享一套直击要害的排查心法,让你快速把模糊的"系统慢"变成清晰的定位结论。

一、核心思路:先找方向,再抓元凶

遇到性能问题,别乱试。记住这个黄金三步法:

  1. 定方向:是CPU、内存、磁盘I/O,还是网络的问题?
  2. 抓进程:是哪个具体进程在"搞事情"?
  3. 下结论:资源不足?程序BUG?还是配置有误?

二、CPU排查:谁在疯狂计算?

命令 关键参数/操作 核心看什么
top 运行后按1 (看各核),P (按CPU排序),M(按内存排序) %Cpu(s)行:•us高:应用自己算得多。•wa高:CPU在等I/O,该去查磁盘。
pidstat -u 1 -u:看CPU。1:每秒采样1次。 %CPU列 :精准找到高CPU消耗的进程ID(PID)
vmstat 1 1:每秒输出一行。 r列:等待运行的进程数。持续大于CPU核数,说明CPU不够用了。

三、内存排查:真的内存不足?

Linux爱用空闲内存做缓存(Cached),所以看内存要"聪明点"。

命令 关键参数 核心看什么
free -h -h:用G/M显示,好读。 available列 :系统真正可用的内存。只关心这个数。
pidstat -r 1 -r:看内存。 RSS列 :进程实际占用的物理内存,找"内存大户"。

📌 重要经验 :看到free内存少别慌,看available。只有它快没了,且开始用Swap(交换分区)时,才是真危机,性能会暴跌。

四、磁盘I/O排查:找到拖后腿的"慢盘"

命令 关键参数/操作 核心看什么
iostat -x 1 -x:看详细指标。1:每秒刷新。 %util :磁盘使用率。>80%就很忙。•await:I/O平均响应时间(ms),越大越"卡"。
iotop 运行后按o:只显示活跃I/O进程。 DISK READ/WRITE列:实时看到哪个进程在读/写磁盘。

五、网络排查:连接堵了还是带宽满了?

命令 关键参数 核心看什么
ss -antp -a:所有。-t:TCP。-p:显示进程。 连接状态:检查ESTAB(正常连接)和TIME-WAIT(等待关闭)是否过多。
sar -n DEV 1 -n DEV:看网卡。1:每秒采样。 rxkB/s ,txkB/s:进出口流量,判断带宽是否打满。

六、📦 最小化安装必备(CentOS 7)

很多命令默认没有,先装好:

复制代码
# 安装性能工具包(含iostat, pidstat, sar等)
yum install -y sysstat
# 安装进程级IO监控工具
yum install -y iotop

七、终极心法:一张图看懂排查路径

复杂的逻辑,一张图就够了。按这个顺序来,思路永不乱:

心法精髓top总览仪表盘 ,告诉你哪里亮红灯;pidstat/iotop精准探测器,深入问题区域抓出具体进程。

八、总结

记住,命令只是工具,核心是解读指标和关联线索的能力 。当你能把%wa高、await飙升、iotop里的疯狂进程这几条信息,瞬间组合成 "数据库备份任务导致磁盘IO瓶颈" 的结论时,你就真正掌握了性能排查的钥匙。


关注【刘叨叨趣味运维】公众号,用有趣的方式,啃下最硬核的技术。咱们下期见!

相关推荐
如意.7594 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera7774 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ5 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
安当加密7 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
内卷焦虑人士7 小时前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
dddddppppp1239 小时前
qemu模拟的一个内核驱动 io口中断
linux
程序员老赵9 小时前
超全 Docker 镜像源配置指南|Windows/Mac/Linux一键搞定,拉镜像再也不卡顿
linux·后端·容器
门豪杰9 小时前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
总要冲动一次9 小时前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos
桌面运维家10 小时前
Windows/Linux双启动:BIOS/UEFI多配置桌面创建指南
linux·运维·windows