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

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

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

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


一、故障排查的步骤

1. 确认问题

2. 快速止血

3. 收集信息

4. 定位根因

5. 修复验证

6. 复盘总结


二、常用排查命令

1. Linux 基础

# 查看进程
ps aux | grep java

# 查看端口
netstat -tlnp | grep 8080

# 查看磁盘
df -h

# 查看内存
free -h

2. 网络

# 检查网络连通性
ping

# 端口连通性
telnet host port

# 查看网络连接
ss -s

3. Java 排查

# 线程堆栈
jstack <pid>

# 内存快照
jmap -dump:live,file=heap.hprof <pid>

# GC 情况
jstat -gc <pid> 1000

三、常见故障类型

1. 服务不可用

2. 响应慢

3. 内存溢出

4. CPU 高


四、排查心态

1. 不要慌

越慌越容易出错,越慌越想不出方案。

2. 相信数据

数据不会骗人,日志不会说谎。

3. 小步验证

一次只改一个地方,改完验证,再改下一个。

4. 记录过程

排查过程要记录,方便复盘,也方便后人学习。


五、一句话总结

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

/*]]>*/