预约咨询 提交工单

Linux SRE 生产环境故障排查手册:高系统负载

本手册提供生产环境中 Linux 服务器高负载问题的系统化排查步骤,涵盖场景、症状、诊断命令、风险控制、回滚、验证及何时提交 OpsGlobal 工单。

Linux SRE 生产环境故障排查手册:高系统负载
DevOps 6min 58 浏览 2026-07-06
LinuxSRE故障排查高负载性能

场景

生产 Web 服务器出现整体响应缓慢,用户报告页面加载超时。监控显示系统平均负载(load average)持续高于 CPU 核心数的 80%。

症状

  • 应用程序请求延迟显著增加
  • SSH 登录响应迟钝
  • topuptime 显示 load average 过高
  • 可能伴随高 CPU 使用率、高 I/O 等待或内存交换

诊断步骤

  1. 快速检查系统状态bash uptime top -bn1 | head -n 20 free -h df -h
  2. 分析 CPU 使用率bash mpstat -P ALL 1 5 # 关注 %usr, %sys, %iowait
  3. 定位高 CPU 进程bash ps aux --sort=-%cpu | head -10 pidstat -u 1 5
  4. 检查磁盘 I/O(若 %iowait 高): bash iostat -x 1 5 # 查看 await, %util
  5. 追踪系统调用(谨慎): bash strace -p <PID> -c -S time 2>&1 | head -20 # 仅运行 5 秒
  6. 检查内核日志bash dmesg --level=err,warn | tail -20

风险控制

  • 在生产环境执行诊断前,优先在副本或低流量节点操作
  • strace 限制时间(-S 或 timeout),避免进程挂起
  • 避免在生产直接执行 kill -9;使用 kill -TERM 或重启服务
  • 记录所有执行命令及输出

回滚步骤

若误操作或需要恢复: - 若终止了关键进程,立即重启服务:systemctl restart <service-name> - 若修改系统参数(如 vm.swappiness),恢复原值并刷新:sysctl -p - 若安装临时工具,卸载并清理:yum remove -y <tool>apt-get purge

验证

  • 确认负载下降:uptimetop 显示 load average 趋于正常
  • 验证应用响应:通过 curl 测试 API 端点返回时间
  • 检查监控告警是否消除

何时提交 OpsGlobal 工单

  • 根本原因不明确(如硬件故障怀疑)
  • 负载反复波动无法控制
  • 需要深入调试(如 perf 分析)或内核参数优化
  • 需要扩容建议或架构调整

适用场景

适合正在处理 DevOps、Linux, SRE, 故障排查, 高负载 相关问题的团队,用于快速建立排查路径和交付标准。

问题背景

本手册提供生产环境中 Linux 服务器高负载问题的系统化排查步骤,涵盖场景、症状、诊断命令、风险控制、回滚、验证及何时提交 OpsGlobal 工单。

排查步骤

先确认影响范围和最近变更,再收集日志、配置、指标和链路数据,最后按风险从低到高执行修复。

命令示例

示例命令请替换为你的真实资源名,并使用环境变量保存账号、密码、token 等敏感信息。

风险说明

生产环境操作前需要确认备份、权限边界、变更窗口和回滚路径,避免扩大故障影响。

回滚方案

保留原配置和发布版本;如修复后指标异常,立即回退配置、镜像或数据库变更并复核日志。

交付清单

问题定位记录、关键命令、修复步骤、验证结果、后续优化建议。

!

遇到类似技术问题?

如果你的服务器、K8s、Docker、CI/CD、数据库或监控系统出现类似问题,可以提交日志和配置文件,我们帮你远程诊断。

工单 WhatsApp 联系 咨询