程序员如何做「故障排查」:不是靠猜,是靠方法

程序员如何做「故障排查」:不是靠猜,是靠方法

系统出故障是难免的,故障排查能力决定了恢复速度。

有方法的工程师 5 分钟找到根因,没方法的可能花 5 小时还在瞎试。


一、故障排查的步骤

1. 确认问题

2. 快速止血

3. 收集信息

4. 定位根因

5. 修复验证

6. 复盘总结


二、常用排查命令

1. Linux 基础

# 查看进程
ps aux | grep java
# 查看端口
netstat -tlnp | grep 8080

2. 网络

ping
telnet host port

3. Java 排查

jstack <pid>   # 线程堆栈
jmap -dump     # 内存快照
jstat -gc       # GC 情况

三、常见故障类型

1. 服务不可用

检查进程、端口、防火墙、健康检查。

2. 响应慢

看慢查询、GC、线程状态、外部依赖。

3. 内存溢出

看 dump 文件,分析对象占用。

4. CPU 高

看哪个进程、哪个线程、堆栈定位。


四、排查心态

1. 不要慌

越慌越容易出错。

2. 相信数据

日志不会说谎。

3. 小步验证

一次只改一个地方。

4. 记录过程

方便复盘和学习。


五、一句话总结

故障排查 = 确认问题 + 快速止血 + 收集信息 + 定位根因 + 修复验证 + 复盘总结,核心是用数据说话而不是靠猜

/*]]>*/