Linux运维故障排查速查命令清单 一、系统基础状态(第一时间执行) 核心概览命令 # 运行时长、平均负载 uptime # 系统整体资源实时监控 top htop # 需安装,可视化更强,交互更友好 # 内存、swap使用情况(人类可读格式) free -h # 磁盘分区空间占用 df -h # inode占用(排查小文件爆满问题) df -i # 磁盘整体IO负载(1秒刷新一次) iostat-x 1 # 内核硬件、崩溃报错(带时间戳) dmesg -T # 系统全局日志实时追踪 tail -f /var/log/messages# CentOS7+/RHEL7系统日志(详细报错) journalctl-xe 二、CPU高负载排查 定位高CPU进程/线程 # 按CPU使用率降序排序进程 ps aux--sort = -%cpu# 单个进程CPU线程详情(1秒刷新) pidstat-u 1 # 定位高CPU线程(Java等多线程程序常用) top -H -p 进程ID# 查看定时任务是否异常 cat /etc/crontabcrontab -l 三、内存OOM、内存溢出排查 内存占用与OOM排查 # 按内存使用率降序排序进程 ps aux--sort = -%mem# 进程内存详细统计(1秒刷新) pidstat-r 1 # 查看被删除但未释放的大日志文件(句柄残留) lsof | grep deleted# 临时清理缓存(生产环境谨慎执行) sync ; echo 3 > /proc/sys/vm/drop_caches# 查看OOM杀死进程记录 grep -i oom /var/log/messagesdmesg | grep -i kill # swap使用详情 cat /proc/swaps# 查看系统swappiness参数(内存使用策略) cat /proc/sys/vm/swappiness四、磁盘空间 & IO故障 4.1 空间查找 # 逐层查找大目录 du -sh /*du -sh /data/*# 查找系统中大于1G的文件 find /-type f-size +1G-exec ls -lh { } \ ; 4.2 IO卡死、磁盘慢 # 实时IO统计(1秒刷新) iostat-x 1 # 进程级IO占用监控 iotop# 进程IO详细统计(1秒刷新) pidstat-d 1 # 磁盘坏道检测(需安装smartmontools) smartctl-a /dev/sda# 文件系统检查(必须先卸载分区) umount /dev/sdb1 fsck.ext4 /dev/sdb1# 只读模式查看磁盘挂载参数 mount 五、网络连通、端口、延迟排查 5.1 网卡基础 # 查看网卡IP、状态 ip a# 查看路由表 ip route# 查看主机名对应IP hostname -i # 网卡流量实时统计(1秒刷新) sar-n DEV1 5.2 连通性、丢包延迟 # 测试与网关/目标IP连通性 ping 网关/IP# 路由逐跳丢包检测(最强网络排错工具) mtr 目标IP# DNS解析测试 nslookup baidu.comdig baidu.com# 临时修改DNS(重启网络后失效) echo "nameserver 114.114.114.114" > /etc/resolv.conf5.3 端口占用、监听 # 全量端口监听状态(推荐,比netstat高效) ss-tulnp # 老式端口监听查看(兼容旧系统) netstat -tulnp # 查指定端口占用进程 ss-tulnp | grep 8080 # 端口连通测试 telnet IP 端口curl -v IP:端口# 防火墙状态与规则 firewall-cmd --list-all systemctl status firewalld5.4 SSH专属故障 # 查看ssh服务状态 systemctl status sshd# 关闭DNS反向解析(解决ssh登录卡顿) grep UseDNS /etc/ssh/sshd_config# 密钥权限校验(.ssh目录需700,密钥文件需600) ls -l ~/.ssh/六、服务启停、崩溃排查 # 查看服务运行状态 systemctl status nginx mysqld redis# 查看所有服务开机自启状态 systemctl list-unit-files--type = service# 查看服务启动详细报错日志 journalctl-u nginx-xe # 手动前台启动服务(直接看报错) nginx-c /etc/nginx/nginx.conf# Nginx配置文件语法校验 nginx-t # MySQL配置文件安全检测 mysqld --validate-config七、权限、SELinux、sudo问题 # 查看SELinux状态 getenforce# 临时关闭SELinux(重启后失效) setenforce0 # 查看文件安全上下文(SELinux相关) ls -Z 文件名# 检查sudo配置文件语法 visudo-c # 查看用户归属组 id rootid 普通用户名# 查看当前用户打开文件数限制 ulimit -n # 系统全局文件句柄限制配置 cat /etc/security/limits.conf# 使用绝对路径执行脚本,调试脚本执行过程 sh -x /path/to/script.sh八、高频故障场景排查(现象+原因+方案) 8.1 僵尸进程过多(defunct) 故障现象 :ps查看大量defunct进程,占用系统进程资源核心原因 :子进程退出后父进程未回收、程序异常退出解决方案 :重启对应业务服务、重启服务器彻底清理,优化程序进程回收机制8.2 Permission denied 权限拒绝 8.3 文件系统只读(Read-only file system) 8.4 SSH无法连接服务器 8.5 Sudo提权失败 8.6 开机进入emergency紧急模式 8.7 打开文件数过多(too many open files) 8.8 系统时间/时区异常 九、运维常备排查命令速查表 排查维度 核心命令 用途 系统状态 uptime、free -h、df -h、df -i快速查看系统负载、内存、磁盘空间 进程资源 top、iotop、mpstat、perf top定位高CPU/IO/内存进程 网络排查 ip a、ip r、ss -tulnp、ping、mtr网卡、路由、端口、连通性排查 日志排查 journalctl -xe、tail -f /var/log/messages系统、服务报错日志查看 文件磁盘 du -sh、lsof、fsck、mount大文件查找、句柄残留、文件系统修复