引言
Linux 服务器一旦出问题,很多人第一反应是“重启”。但作为一名成熟的运维工程师,靠的是思路 + 工具 + 日志。今天给大家整理一套通用、实用、能落地的 Linux 故障排查方法,不管是 CPU 高、内存爆、磁盘满、网络不通、服务挂掉,都能按这套流程快速定位。
先看系统整体状态
不管什么故障,先看系统“脸色”。
1. top / htop
看 CPU、内存、负载
top
重点看:
- • load average:是否持续高于 CPU 核心数
2. free -h
看内存是否爆了
free -h
重点:
3. df -h
看磁盘是否满
df -h
100% 使用率会直接导致:
4. dmesg
看内核级报错
dmesg -T | tail -50
常见报错:
服务类故障
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
常见问题:
应用日志
tail -f /var/log/messagestail -f /var/log/securetail -f /应用路径/logs/xxx.log
看三类信息:
权限与文件系统
1. 看权限
权限出现异常也会导致服务崩溃
ls -l 文件/目录
2. 看文件是否被占用
文件如果被占用,有些服务可能也起不来
lsof | grep 文件名
3. 看磁盘是否只读
mount | grep ro
只读模式常见于:
万能排查流程
按这个顺序,90% 的问题都能快速定位。
最后总结
Linux 故障排查不是靠猜,是靠逻辑链:系统 → 资源 → 网络 → 服务 → 日志 → 应用。
把这套方法练熟,你就是团队里那个“一出问题就找你”的人。