Linux 高负载排查顺序:mtr→pidstat→iostat→dmesg
服务器突然变慢,SSH 连上去敲命令都卡——这时候最忌讳的就是直接 reboot。重启能临时恢复,但根因没找到,几小时后问题必然复现。云数方舟 的技术支持团队在处理 香港云主机、圣何塞云主机、圣何塞独立服务器 等节点的故障时,有一套固定的排查顺序:mtr → pidstat → iostat → dmesg。按这个顺序来,90% 的高负载问题 5 分钟内定位。
第一步:mtr 排除网络问题(1 分钟)。很多”服务器卡”其实是网络卡。在服务器上执行:mtr -rwc 50 --tcp -P 443 你的本地IP
同时,从你本地电脑也跑一次到服务器的 MTR。看两个指标:
– 丢包率:> 1% 说明网络有问题。
– 延迟波动:如果 RTT 忽高忽低(如 30ms 跳到 300ms),可能是链路拥塞或路由震荡。
如果是香港节点,检查是否晚高峰 CN2 GIA 正常(应 <0.5% 丢包)。如果是圣何塞节点,延迟 140-170ms 是正常的,但丢包不应 > 0.5%。
这里说的”先排除网络”,这个是指如果网络有问题,后面的 CPU/IO 排查都是浪费时间——你看到的”卡”只是网络延迟造成的假象。
第二步:pidstat 找 CPU 凶手(1 分钟)。网络没问题,那就是本地资源耗尽。执行:pidstat -u 1 5
这条命令每 1 秒采样一次,共 5 次,显示每个进程的 CPU 占用。关注:
– %usr 高(>70%):用户态程序在疯狂计算。常见凶手:PHP-FPM 子进程暴增、Java GC 频繁、Python 死循环。
– %system 高(>30%):内核态开销大。常见凶手:大量小文件读写、频繁 fork/exec、iptables 规则过多。
– %wait 高(>20%):进程在等 I/O。跳到第三步看磁盘。
如果看到某个 php-fpm 进程占 100% CPU,那就是它了。用 strace -p PID 可以进一步看它在干什么系统调用。
第三步:iostat 查磁盘瓶颈(1 分钟)。如果 pidstat 显示 %wait 高,执行:iostat -xz 1 5
关注两列:
– %util:设备利用率。> 80% 说明磁盘快被打满了。
– await:平均 I/O 等待时间(ms)。> 20ms 说明磁盘响应慢(正常 NVMe 应 < 5ms)。
如果是机械盘或低配云盘,%util 长期 100%、await 几百 ms,那就是磁盘瓶颈。解决方案:把数据库迁移到 NVMe SSD,或加内存减少 swap 使用。
这里说的”await 是磁盘的脉搏”,这个是指它直接反映磁盘是否健康。
第四步:dmesg 看内核级故障(1 分钟)。前三步都正常,但系统还是卡?执行:dmesg -T | tail -50
看有没有以下关键词:
– OOM Killer:Out of Memory。系统杀进程了。说明内存不足,需要加 SWAP 或升级配置。
– TCP: out of memory:内核 TCP 缓冲区耗尽。可能是 SYN Flood 攻击或连接数爆了。
– NVMe error:磁盘硬件错误。需要联系 云数方舟 技术支持换盘。
– CPU stuck:CPU 软锁死。可能是内核 bug 或超售严重。
这里说的”dmesg 是最后的审判”,这个是指内核日志不会撒谎,所有硬件和底层故障都会在这里留下痕迹。
| 排查顺序 | 命令 | 看什么 | 异常阈值 | 常见凶手 |
|---|---|---|---|---|
| 1. 网络 | mtr -rwc 50 | 丢包率、延迟波动 | 丢包 > 1% | 晚高峰拥塞、路由震荡 |
| 2. CPU | pidstat -u 1 5 | %usr、%system、%wait | %usr > 70% | PHP-FPM、Java GC、死循环 |
| 3. 磁盘 | iostat -xz 1 5 | %util、await | await > 20ms | 数据库未优化、SWAP 频繁 |
| 4. 内核 | dmesg -T | tail | OOM、TCP OOM、硬件错误 | 出现 OOM/Killer | 内存不足、磁盘故障、攻击 |
行动建议。把这套排查顺序保存为 /root/troubleshoot.sh 或截图存手机里。下次服务器卡的时候,不要 reboot,按 mtr → pidstat → iostat → dmesg 走一遍,把输出截图发给 云数方舟 技术支持,能帮你省掉大量沟通成本。对于 香港独立服务器 用户,建议额外安装 netdata 或 Prometheus 做长期监控,在问题发生前就收到告警。记住:重启是掩盖问题,排查才是解决问题。
📌 查看云数方舟服务器方案:
云数方舟官网 | 香港云主机(AMD EPYC) | 美国云主机(圣何塞铂金) | 圣何塞独立服务器
本文由 云数方舟 技术团队原创发布,转载请注明出处。