← 返回现象因果
🌐 系统与网络层的因与果
磁盘满 / CPU飙高 / 网络超时与雪崩 —— 非代码层面的灾难
💾磁盘满写失败
原因:磁盘空间100%,日志/DB/MQ全写不了。
因果流程图
1
日志写不了 (No space left on device 刷屏)
4
排查:df -h → du -sh → lsof|grep deleted
陷阱:直接 rm 一个正在被进程写入的日志文件,空间不会释放(进程还持有 inode)。要重启进程或用 truncate -s 0。
🔥CPU飙高响应慢
原因:死循环/GC频繁/计算密集/线程太多上下文切换。
因果流程图
3
区分根因:单核满=死循环;多核满+GC堆栈=FullGC;多核满+业务=计算密集
4
排查:top -Hp → jstack 定位代码行
⚡网络超时/雪崩级联
原因:下游服务慢/挂,调用方一直等,线程池占满,自己也跟着挂。
因果流程图
3
级联雪崩 → 依赖自己的服务也跟着挂 → 全链路崩
4
防御:超时(别无限等)+ 熔断(挂了快速失败)+ 降级(返回兜底)
核心认知:雪崩的根因不是"下游挂了"(常态),而是"你没设超时/熔断,被拖死"。可控的快速失败,胜过不可控的慢慢拖垮。
系统层因果总结:磁盘满→全写不了;CPU高→请求变慢→超时→雪崩;网络超时→级联雪崩。三个都不是代码bug,是资源/依赖问题。
现象因果 · 系统与网络层 · 全栈资料库