置顶线上问题实战录 · 系列目录


线上问题实战录 · 系列目录 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 总计 57 篇,已发布 18 篇,39 篇待完善 一、CPU 飙高类 ✅ 线上 CPU 飙到 100%?从 top 到火焰图的一整套排查链路 ✅ 一次诡异的高 CPU 排查:线程都在 RUNNABLE 但就是慢

线程堆栈吃光 16GB 容器——一个 NMT 查不到的坑


线程堆栈吃光 16GB 容器——一个 NMT 查不到的坑 场景:16GB 容器 RSS 涨到 15.7GB、堆只用了 2.3GB,进程被 OOM killer 反复杀掉。不是堆外内存,是线程栈把整台机器撑爆了。 路径:dmesg → jstat → /proc/status 查线程数 → NMT 盲

RSS 2.8GB 堆才 1.2GB——native memory 去哪了


RSS 2.8GB 堆才 1.2GB——native memory 去哪了 场景:Java 服务 RSS 持续涨到 2.8GB,jmap 一看堆才 1.2GB。不是 heap 不够,是 native memory 在漏。 路径:pmap → /proc/smaps NMT Baseline → NM

MAT 打开 4GB dump 直接 OOM?字符串泄漏的 OQL 定位实战


MAT 打开 4GB dump 直接 OOM?字符串泄漏的 OQL 定位实战 当 Dominator Tree 失效时,OQL 才是字符串泄漏的真正入口。4GB dump 里 6000 万个 String 的排查实录。 14:02,告警弹窗:Old Gen 82.5%,FullGC 32 分钟一次。

堆外内存泄漏排查:Netty DirectByteBuffer 导致的服务宕机


堆外内存泄漏排查:Netty DirectByteBuffer 导致的服务宕机 本文是线上问题实战录系列的第 10 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 某周三上午 10:17,告警群弹出网关服务 gateway-service 进程退出的告警。这已经是本月第三次

FullGC 越来越频繁、老年代只增不减——内存泄漏完全指南


FullGC 越来越频繁、老年代只增不减——内存泄漏完全指南 系列:线上问题实战录 | OOM / 内存泄漏类 · 第 2 篇 本文所有命令和输出均来自真实复现环境,可照步骤重现 案例属于线上问题实战录系列,叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 1. 问题现象 1.1 告警 某

容器 CPU Throttling:受限 CPU 下的性能抖动


容器 CPU Throttling:受限 CPU 下的性能抖动 本文是线上问题实战录系列的第 12 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 某日早高峰,支付服务的告警突然响起——接口 P99 从正常的 50ms 飙到 823ms,大量用户反馈支付超时。 告警群消息如

日志风暴打满 CPU——大量日志输出的隐形杀手


日志风暴打满 CPU——大量日志输出的隐形杀手 本文是线上问题实战录系列的第 11 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 某日上午,值班同学收到一条 P2 告警:认证网关服务 CPU 使用率超过 80%。与此同时,用户开始反馈登录响应变慢,接口 P99 从正常时的

锁竞争激烈导致 CPU 飙升——从自旋到锁升级


锁竞争激烈导致 CPU 飙升——从自旋到锁升级 系列:线上问题实战录 | CPU 飙高类 · 第 10 篇 本文所有命令和输出均来自真实复现环境,可照步骤重现 1. 问题现象 1.1 告警 早高峰 9:32,订单服务群弹出告警: CPU 85.2%:且 sy 字段高达 32.4%——系统 CPU 远

框架级 CPU 陷阱:SpringMVC 参数解析器引发的性能雪崩


框架级 CPU 陷阱:SpringMVC 参数解析器引发的性能雪崩 本文是线上问题实战录系列的第 10 篇 叙事框架:现象 → 排查过程 → 根因 → 修复 → 预防 问题现象 某日早高峰,告警群突然炸了。 身份验证服务的 P99 延迟从 35ms 飙到 812ms,CPU 使用率从 20% 爬升到