Linux 系统常见故障排查指南
一、前言
在运维工作中,Linux 系统故障排查是最常见的任务之一。本文档总结了日常运维中遇到的高频问题及排查方法,帮助快速定位和解决问题。
二、系统无法启动
2.1 现象
- 系统卡在启动界面
- 出现 kernel panic 错误
- 进入 emergency mode
2.2 排查步骤
- 检查启动日志
1 2
| journalctl -xb -p 3 dmesg | grep -i error
|
- 检查文件系统
1 2
| fsck -f /dev/sda1 mount -o remount,ro /
|
- 检查磁盘空间
- 检查关键服务
1 2
| systemctl list-units --failed systemctl status sshd
|
三、网络连接问题
3.1 现象
- 无法 ping 通外部地址
- 服务端口无法访问
- DNS 解析失败
3.2 排查步骤
- 检查网络接口
1 2 3
| ip addr show ip link show ethtool eth0
|
- 检查路由表
- 检查防火墙
1 2
| iptables -L -n firewall-cmd --list-all
|
- 检查 DNS
1 2 3
| cat /etc/resolv.conf nslookup www.example.com dig @8.8.8.8 www.example.com
|
- 检查端口监听
四、服务异常
4.1 现象
4.2 排查步骤
- 查看服务状态
1 2
| systemctl status <service-name> systemctl restart <service-name>
|
- 查看服务日志
1 2
| journalctl -u <service-name> -f tail -f /var/log/<service>/<service>.log
|
- 检查资源占用
1 2
| top -p $(pgrep -d',' -f <service-name>) ps aux | grep <service-name>
|
- 检查依赖服务
1
| systemctl list-dependencies <service-name>
|
五、性能问题
5.1 现象
- 系统响应缓慢
- CPU 使用率高
- 内存不足
- 磁盘 IO 高
5.2 排查步骤
- CPU 排查
1 2 3 4
| top htop vmstat 1 5 mpstat -P ALL 1
|
- 内存排查
1 2 3
| free -h cat /proc/meminfo vmstat -s
|
- 磁盘 IO 排查
1 2 3
| iostat -x 1 5 iotop pidstat -d 1
|
- 进程分析
1 2
| ps aux --sort=-%cpu | head -10 ps aux --sort=-%mem | head -10
|
六、权限问题
6.1 现象
- 无法访问文件
- 服务启动失败(权限拒绝)
- 无法执行命令
6.2 排查步骤
- 检查文件权限
1 2
| ls -la /path/to/file stat /path/to/file
|
- 检查 SELinux
1 2 3
| getenforce sestatus ls -Z /path/to/file
|
- 检查用户组
七、常用排查命令速查
| 问题类型 |
命令 |
| 系统日志 |
journalctl -xe |
| 磁盘空间 |
df -h |
| 内存使用 |
free -h |
| 进程列表 |
ps aux |
| 网络连接 |
ss -tlnp |
| 端口占用 |
lsof -i :port |
| 文件查找 |
find / -name “filename” |
| 文本搜索 |
grep -r “pattern” /path |
八、总结
故障排查的核心思路:
- 收集信息 - 日志、状态、配置
- 定位问题 - 从现象到根源
- 验证假设 - 逐步排除
- 解决问题 - 修复并验证
- 记录归档 - 形成知识库
保持冷静,按照系统化方法排查,大多数问题都能快速解决。
文档版本:1.0
最后更新:2026-03-03