Skip to content

排障记录 ​

这里用表格快速记录日常小问题和报错踩坑:现象 → 关键词 → 解法。 一句话能说清的直接写表格;表格放不下的复杂排查,再单独开一篇短文(模板见底部)。 典型故障场景的系统排查,见 排障训练场;真实环境的折腾记录另放。

排障记录表 ​

新记录加在表格最上面(倒序)。关键词尽量写全,方便以后 Ctrl+K 搜到。

日期现象 / 报错关键词解法
2026-09-24SSH 连接很慢,要等十几秒ssh dns UseDNS 反向解析改 /etc/ssh/sshd_config 设 UseDNS no,systemctl restart sshd
2026-09-24df 显示有空间,但无法写入、提示 No space leftinode 满 小文件df -i 查 inode,清理海量小文件目录
2026-09-24启动服务提示 Address already in use端口占用ss -tunlp | grep :80 或 lsof -i :80 找到占用进程处理
2026-09-25新装 Docker ,检查 docker info 提示 swap 相关报错docker swap详见短文
2026-09-26容器长期运行后宿主机磁盘被写满,业务容器异常docker json-file 日志 未轮转/etc/docker/daemon.json 配置 "log-opts": {"max-size": "100m", "max-file": "3"},重启 docker 后重建旧容器;临时用 truncate -s 0 清空大日志

排障方法大全 ​

按方向分组:症状 → 可能原因 → 关键命令 → 处置。每条挂对应排障短文,点进去看完整过程。

系统启动
症状可能原因关键命令处置 / 短文
开机进 GRUB rescue / 内核升级后起不来grub.cfg 仍指向已被删除的旧内核ls /boot/、grub2-mkconfig -o /boot/grub2/grub.cfg重新生成 grub.cfg / 修复内核 → t-grub-rescue-boot
CPU
症状可能原因关键命令处置 / 短文
CPU 飙高、load 高但业务不忙死循环、全表扫描、自旋锁top -o %CPU、pidstat 1、perf top定位高 CPU 线程再看栈 → t-cpu-high-load
内存
症状可能原因关键命令处置 / 短文
进程被 OOM Killer 杀、内存泄漏无界缓存 / JVM 堆外泄漏dmesg | grep -i oom、free -h、jmap -heap查泄漏点、调堆参数 → t-memory-leak-oom
swap 占用高、系统变慢堆外泄漏 + swappiness 过高vmstat 1、cat /proc/sys/vm/swappiness调 vm.swappiness=10、治泄漏 → t-swap-high-usage
磁盘与文件系统
症状可能原因关键命令处置 / 短文
No space left 但 df 有空间日志暴涨 / rm 后句柄未释放df -h、du -xh /、lsof +L1清大文件 / truncate 释放句柄 → t-disk-space-full
No space left 但 df -h 空inode 被海量小文件吃光df -i、find / -xdev -type f | wc -l清小文件目录 → t-inode-exhausted
掉电后分区变只读、挂载失败ext4 元数据不一致dmesg | grep -i ext4、mount -o remount,ro单用户下 fsck -y 修复 → t-filesystem-fsck-corrupt
NFS 报 Stale file handleNFS 服务端重启,客户端句柄缓存失效showmount -e nfs-server、umount -lf强制卸载重挂 → t-nfs-stale-handle
权限
症状可能原因关键命令处置 / 短文
Permission denied 访问文件/站点属主错误 / SELinux 上下文不对ls -l、id、getenforce、ls -Z改属主 / 还原 SELinux 上下文 → t-permission-ownership
进程与 fd
症状可能原因关键命令处置 / 短文
Too many open filesCLOSE_WAIT 泄漏打满单进程 fdulimit -n、lsof -p <pid> | wc -l、ss -s调 ulimit、修连接泄漏 → t-too-many-open-files
进程 D 状态不响应、杀不掉NFS/磁盘 IO 硬等待ps -eo stat,pid,cmd | grep '^D'、cat /proc/<pid>/stack恢复 NFS/IO,勿强杀 → t-process-d-state-hang
网络连通性
症状可能原因关键命令处置 / 短文
ping 不通 / 丢包 / 高延迟上联拥塞、链路丢包mtr --tcp -P 80 <ip>、ping逐跳定位丢包点 → t-net-unreachable-mtr
连接超时(不是 refused)防火墙/安全组丢包iptables -L -n、tcpdump -i eth0 port 80、安全组规则放行入方向规则 → t-connection-timeout-firewall
DNS
症状可能原因关键命令处置 / 短文
域名解析超时/失败防火墙挡 UDP53、resolv.conf 错dig @223.5.5.5 example.com、cat /etc/resolv.conf放行 53 / 换 DNS → t-dns-resolution-fail
端口与连接
症状可能原因关键命令处置 / 短文
Connection refused服务没起 / 只监听 127.0.0.1ss -tlnp、lsof -i :80改监听 0.0.0.0 或起服务 → t-port-connection-refused
TCP 与 MTU
症状可能原因关键命令处置 / 短文
TCP 重传率高、接口慢光模块/网线 CRC 丢包nstat -az | grep retrans、ip -s link、ethtool换光模块/网线 → t-tcp-retransmission
能 ping 但 TCP 握手后卡住隧道 MTU 黑洞、MSS 不匹配tracepath、ip link、ping -M do -s 1472调 MSS clamp / MTU → t-mtu-black-hole
证书与时间
症状可能原因关键命令处置 / 短文
浏览器报证书过期/链不全续期脚本被删、中间证书漏配openssl s_client -connect x:443 -showcerts重新签/补全链 → t-tls-cert-expired
TLS/JWT 鉴权突然失败机器时差太大(>几分钟)timedatectl、chronyc tracking同步 NTP → t-clock-unsynced
Web 服务 502 / 504
症状可能原因关键命令处置 / 短文
Nginx 502 Bad Gatewayupstream 挂/池满 RSTnginx -t、tail /var/log/nginx/error.log、看 upstream修后端 → t-nginx-502
Nginx 504 Gateway Timeout后端慢 SQL 超 proxy_read_timeout看 upstream_response_time、后端慢查询优化慢查询/调超时 → t-nginx-504-timeout
PHP-FPM 502、池打满max_children 被慢请求占满pm.status_path、ps aux | grep php-fpm提 max_children、治慢 SQL → t-phpfpm-502
Tomcat OOM/崩溃全表导出撑爆堆jstat -gcutil、hs_err_pid*.log调堆/流式查 → t-tomcat-oom-crash
LB 后端被摘健康检查超时(FullGC)LB 监控、后端 GC 日志治 GC、放宽健康检查 → t-lb-backend-ejected
MySQL
症状可能原因关键命令处置 / 短文
Too many connectionsmax_connections 小 + 连接池超时不匹配SHOW PROCESSLIST、SHOW STATUS LIKE 'Threads_connected'调大连接数、对齐池超时 → t-mysql-too-many-connections
从库数据慢半拍大事务回放慢、并行复制退化SHOW REPLICA STATUS\G、performance_schema.replication_applier_status_by_worker开 WRITESET、分批大事务 → t-mysql-replica-lag
查询越来越慢缺联合索引、全表扫描EXPLAIN、mysqldumpslow建联合索引 → t-mysql-slow-query
死锁报错 1213加锁顺序不一致 + 间隙锁SHOW ENGINE INNODB STATUS\G、data_locks统一加锁顺序/降隔离级 → t-mysql-deadlock
实例起不来掉电致 InnoDB 页损坏mysqld 前台跑、error logforce_recovery 拉起后 dump 重建 → t-mysql-cannot-start
Redis
症状可能原因关键命令处置 / 短文
OOM command not allowed大 key + 无 TTL 打满 maxmemoryINFO memory、redis-cli --bigkeys改淘汰策略、拆大 key → t-redis-memory-oom
DB 被打、命中率骤降穿透/击穿/雪崩INFO stats、--hotkeys布隆/互斥锁/随机过期 → t-redis-cache-avalanche
切换后双主/主从漂移旧主未隔离、缺 fencingINFO replication、SENTINEL mastersmin-replicas-to-write + fencing → t-redis-sentinel-failover
MQ / 集群
症状可能原因关键命令处置 / 短文
Kafka consumer lag 暴涨消费慢触发 rebalance 停摆kafka-consumer-groups.sh --describe异步化、调 poll 参数 → t-kafka-consumer-lag
集群出现双 leader网络分区旧主未卸任各节点 /role、ZK 选主节点fencing + 断连即降级 → t-cluster-split-brain
Docker
症状可能原因关键命令处置 / 短文
No swap limit support内核未开 swapaccountdocker info、改 grub swapaccount=1加内核参数重启 → t-docker-swap
dockerd 起不来daemon.json 语法错/数据盘未挂dockerd 前台跑、python3 -m json.tool修配置/迁 data-root → t-docker-daemon-fail
容器写满磁盘悬空镜像/日志未轮转docker system df、docker system prune配 log-opts、定期 prune → t-docker-storage-driver
容器间/出网不通FORWARD 默认 DROP、DNSiptables -L FORWARD、docker exec ... /etc/resolv.conf重启 docker 重建规则 → t-docker-network-bridge
镜像拉取失败直连 Docker Hub 超时/未认证docker pull、crictl pull配加速器/Harbor 代理 → t-docker-image-pull-fail
Kubernetes
症状可能原因关键命令处置 / 短文
Pod 一直 Pending资源不足/PVC 亲和/污点kubectl describe pod扩节点/修亲和 → t-k8s-pod-pending
ImagePullBackOfftag 不存在/未配 pull secretkubectl describe pod Events修 tag/挂 imagePullSecrets → t-k8s-imagepullbackoff
CrashLoopBackOff探针误杀/启动命令错kubectl logs --previous、describe 看 Exit Code配 startupProbe → t-k8s-crashloopbackoff
容器 OOMKilled(137)JVM 超 limits/内存泄漏kubectl describe pod、kubectl top pod设 -Xmx、流式处理 → t-k8s-oomkilled
Service/Ingress 不通selector 与 label 不一致kubectl get endpoints、kubectl describe ingress修 selector → t-k8s-service-ingress
节点 NotReady磁盘满/kubelet/容器运行时kubectl describe node、journalctl -u kubelet清磁盘重启 kubelet → t-k8s-node-notready
API 卡顿、etcd space exceededetcd DB 达 quotaetcdctl endpoint status、alarm listcompact + defrag → t-k8s-etcd-failure
x509 certificate has expiredkubeadm 证书满 1 年kubeadm certs check-expirationkubeadm certs renew all → t-k8s-cert-expired
安全
症状可能原因关键命令处置 / 短文
CPU 100%、/tmp 陌生二进制SSH 弱口令爆破后植入挖矿top、grep "Failed password" /var/log/auth.log、crontab -l隔离清理、SSH 改密钥登录 → t-mining-trojan
Web 目录多了一句话木马CMS 上传漏洞find ... -newer、Nginx access log 溯源删 Webshell、uploads 禁 PHP → t-webshell-investigation
服务器周期性连境外 IP被控回连 C2 / DNS 隧道ss -tunlp、lsof -i、tcpdump port 53出口封禁、隔离取证 → t-malicious-c2-traffic

常见排障入口速查 ​

排障短文模板(复杂问题用) ​

新建 cases/t-简短标题.md,复制以下结构:

markdown
# 问题标题(YYYY-MM-DD)

## 现象(含完整报错信息)
## 环境(系统版本、相关软件版本)
## 定位过程(用了哪些命令、看到什么)
## 根因
## 解决步骤
## 相关命令(链接到速查长文档)