Linux 系统常见故障排查指南

一、前言

在运维工作中,Linux 系统故障排查是最常见的任务之一。本文档总结了日常运维中遇到的高频问题及排查方法,帮助快速定位和解决问题。

二、系统无法启动

2.1 现象

  • 系统卡在启动界面
  • 出现 kernel panic 错误
  • 进入 emergency mode

2.2 排查步骤

  1. 检查启动日志
1
2
journalctl -xb -p 3
dmesg | grep -i error
  1. 检查文件系统
1
2
fsck -f /dev/sda1
mount -o remount,ro /
  1. 检查磁盘空间
1
2
df -h
df -i # 检查 inode
  1. 检查关键服务
1
2
systemctl list-units --failed
systemctl status sshd

三、网络连接问题

3.1 现象

  • 无法 ping 通外部地址
  • 服务端口无法访问
  • DNS 解析失败

3.2 排查步骤

  1. 检查网络接口
1
2
3
ip addr show
ip link show
ethtool eth0
  1. 检查路由表
1
2
ip route show
route -n
  1. 检查防火墙
1
2
iptables -L -n
firewall-cmd --list-all
  1. 检查 DNS
1
2
3
cat /etc/resolv.conf
nslookup www.example.com
dig @8.8.8.8 www.example.com
  1. 检查端口监听
1
2
ss -tlnp
netstat -tlnp

四、服务异常

4.1 现象

  • 服务无法启动
  • 服务频繁重启
  • 服务响应缓慢

4.2 排查步骤

  1. 查看服务状态
1
2
systemctl status <service-name>
systemctl restart <service-name>
  1. 查看服务日志
1
2
journalctl -u <service-name> -f
tail -f /var/log/<service>/<service>.log
  1. 检查资源占用
1
2
top -p $(pgrep -d',' -f <service-name>)
ps aux | grep <service-name>
  1. 检查依赖服务
1
systemctl list-dependencies <service-name>

五、性能问题

5.1 现象

  • 系统响应缓慢
  • CPU 使用率高
  • 内存不足
  • 磁盘 IO 高

5.2 排查步骤

  1. CPU 排查
1
2
3
4
top
htop
vmstat 1 5
mpstat -P ALL 1
  1. 内存排查
1
2
3
free -h
cat /proc/meminfo
vmstat -s
  1. 磁盘 IO 排查
1
2
3
iostat -x 1 5
iotop
pidstat -d 1
  1. 进程分析
1
2
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10

六、权限问题

6.1 现象

  • 无法访问文件
  • 服务启动失败(权限拒绝)
  • 无法执行命令

6.2 排查步骤

  1. 检查文件权限
1
2
ls -la /path/to/file
stat /path/to/file
  1. 检查 SELinux
1
2
3
getenforce
sestatus
ls -Z /path/to/file
  1. 检查用户组
1
2
id
groups

七、常用排查命令速查

问题类型 命令
系统日志 journalctl -xe
磁盘空间 df -h
内存使用 free -h
进程列表 ps aux
网络连接 ss -tlnp
端口占用 lsof -i :port
文件查找 find / -name “filename”
文本搜索 grep -r “pattern” /path

八、总结

故障排查的核心思路:

  1. 收集信息 - 日志、状态、配置
  2. 定位问题 - 从现象到根源
  3. 验证假设 - 逐步排除
  4. 解决问题 - 修复并验证
  5. 记录归档 - 形成知识库

保持冷静,按照系统化方法排查,大多数问题都能快速解决。


文档版本:1.0
最后更新:2026-03-03