线上 OOM 怎么快速定位?堆溢出、元空间溢出、直接内存溢出有什么区别?OOM 不只是 heap space,6 种 OOM 类型全覆盖,每种都有真实案例和修复方案。
一、六种 OOM 类型
1. Java heap space → 堆内存不够,对象太多
2. GC overhead limit → GC 花费 98% 时间但只回收 2%
3. Metaspace → 类元数据太多(动态生成类)
4. Direct buffer memory → NIO 直接内存不够
5. Unable to create new native thread → 线程数超限
6. StackOverflowError → 栈深度超限(递归)
2026/7/2大约 9 分钟