当前位置:首页>Linux>运维必备:Linux系统故障排查全攻略(收藏级)

运维必备:Linux系统故障排查全攻略(收藏级)

  • 2026-09-30 00:00:40
运维必备:Linux系统故障排查全攻略(收藏级)

专注云原生 · 运维 · 架构 · 实战

温馨提示

🔍 关注公众号「云原生运维之道」,让运维不再困难

🧠 于文末加入「技术交流讨论群」,可在线答疑解惑

【云原生实战指南】

引言

Linux 服务器一旦出问题,很多人第一反应是“重启”。但作为一名成熟的运维工程师,靠的是思路 + 工具 + 日志。今天给大家整理一套通用、实用、能落地的 Linux 故障排查方法,不管是 CPU 高、内存爆、磁盘满、网络不通、服务挂掉,都能按这套流程快速定位。

先看系统整体状态

不管什么故障,先看系统“脸色”。

1. top / htop

看 CPU、内存、负载

top

重点看:

  • • load average:是否持续高于 CPU 核心数
  • • %CPU:哪个进程吃满 CPU
  • • %MEM:是否内存泄漏
  • • swap:是否频繁交换(说明内存不够)

2. free -h

看内存是否爆了

free -h

重点:

  • • available 接近 0 → 内存不足
  • • swap 被大量使用 → 性能急剧下降

3. df -h

看磁盘是否满

df -h

100% 使用率会直接导致:

  • • 无法写日志
  • • 无法生成文件
  • • 服务无法启动
  • • 系统卡死

4. dmesg

看内核级报错

dmesg -T | tail -50

常见报错:

  • • OOM killer 杀进程
  • • 磁盘 I/O error
  • • 网卡丢包
  • • 内存错误

服务类故障

1. 看服务状态

systemctl status 服务名

不行就看日志:

journalctl -u 服务名 -f

2. 看进程是否存在

ps aux | grep 进程名

3. 看端口是否监听

netstat -tulnpss -tulnp

如果端口没监听:

  • • 服务没启动
  • • 配置错误
  • • 权限问题
  • • 端口被占用

网络故障

1. 看 IP 是否正常

ip a

2. 看网关、路由

ip r

3. 测试连通性

ping 网关ping 外网IPping www.baidu.com

4. 看 DNS

cat /etc/resolv.confnslookup www.baidu.com

5. 看防火墙

firewall-cmd --statesystemctl status firewalldiptables -L -n

6. 抓包定位

tcpdump -i any port 8080

磁盘与 I/O 故障

1. 看磁盘使用率

df -h

2. 看 inode 是否满

df -i

3. 看 I/O 负载(iowait 高)

iostat -x 1 3iotop

常见问题:

  • • 磁盘性能差
  • • 日志疯狂刷
  • • MySQL/ES 大量写入
  • • 磁盘坏道

应用日志

tail -f /var/log/messagestail -f /var/log/securetail -f /应用路径/logs/xxx.log

看三类信息:

  • • Error
  • • Exception
  • • Warn

权限与文件系统

1. 看权限

权限出现异常也会导致服务崩溃

ls -l  文件/目录

2. 看文件是否被占用

文件如果被占用,有些服务可能也起不来

lsof | grep 文件名

3. 看磁盘是否只读

mount | grep ro

只读模式常见于:

  • • 磁盘错误
  • • 文件系统损坏
  • • 内核保护机制

万能排查流程

  1. 1. 看系统负载:top
  2. 2. 看内存:free -h
  3. 3. 看磁盘:df -h
  4. 4. 看内核日志:dmesg
  5. 5. 看服务状态:systemctl
  6. 6. 看端口:ss -tulnp
  7. 7. 看网络:ping、curl、tcpdump
  8. 8. 看应用日志:tail -f

按这个顺序,90% 的问题都能快速定位。

最后总结

Linux 故障排查不是靠猜,是靠逻辑链:系统 → 资源 → 网络 → 服务 → 日志 → 应用。

把这套方法练熟,你就是团队里那个“一出问题就找你”的人。

➡️如何加入技术群:关注后,后台发送 '进群'

最新文章

随机文章