2026年01月20日/ 浏览 10
在日常Linux运维中,服务器可能会出现各种问题,从服务异常、系统性能下降到网络中断。作为运维工程师,掌握系统化的排错思路与常用命令,可以大幅度提升解决问题的效率。本文将从 常见故障类型、排错思路、关键命令与案例分析 进行讲解。
一、常见Linux服务器故障类型
系统无法启动常见原因:文件系统损坏、引导程序损坏、内核配置错误。常见现象:卡在GRUB界面、Kernel Panic错误。系统性能下降原因:CPU占用过高、内存不足、IO瓶颈。现象:命令执行缓慢、Web响应延迟高。网络连接异常原因:IP配置错误、防火墙策略限制、网络设备异常。现象:无法ping通外网或内网,SSH连接失败。服务不可用原因:服务进程挂掉、配置文件错误、端口被占用。现象:网站无法访问、数据库连接失败。磁盘空间不足原因:日志过多、缓存未清理、临时文件堆积。现象:写入失败、服务异常退出。二、通用故障排查思路
排错三步走:
确认现象:了解报错信息、影响范围、发生时间。定位原因:结合系统日志、监控数据、配置文件分析。解决问题:实施修复,并做好后续优化。三、关键排错工具与命令
排错场景
常用命令
系统负载
top、htop、uptime
内存问题
free -m、vmstat
磁盘空间
df -h、du -sh /*
磁盘IO
iostat -x 1、iotop
网络连通
ping、traceroute、telnet、curl
服务监听
netstat -tulnp、ss -lntp
日志查看
tail -f /var/log/messages、journalctl -xe
四、典型故障排查案例
案例1:Web服务无法访问
现象: 打开网站报“无法连接”。
排查步骤:
# 1. 检查服务状态
systemctl status nginx
# 2. 查看端口监听
ss -lntp | grep 80
# 3. 检查防火墙
firewall-cmd --list-all
# 4. 检查日志
tail -n 50 /var/log/nginx/error.log
解决办法:
如果nginx未启动:systemctl start nginx如果端口被占用:查找进程 lsof -i:80 并释放。配置文件有误:修正 /etc/nginx/nginx.conf 后 nginx -t 测试并重启。案例2:磁盘空间占满
现象: 写文件时报“no space left on device”。
排查步骤:
# 查看磁盘使用率
df -h
# 查找大文件
du -sh /* | sort -h
解决办法:
删除不必要日志 rm -f /var/log/*.old清理临时文件 rm -rf /tmp/*日志轮转 logrotate 定期清理。案例3:内存不足导致服务频繁重启
排查步骤:
free -m
top -o %MEM
解决办法:
优化服务内存使用。增加Swap:dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
五、运维建议与最佳实践
开启监控(Zabbix、Prometheus)实时发现问题。日志分级存储,避免单个日志文件过大。定期巡检(磁盘、网络、内存、服务状态)。配置自动重启机制,如systemd的Restart=always。做好备份(数据库、配置文件、关键业务数据)。作为Linux运维人员的 “随手查” 故障排错指南,不仅有方法还有实战案例,能在多数生产问题中快速落地。