20 | OOM 与内存泄漏排查:堆 / Metaspace / 直接内存溢出案例
模块四:JVM 性能监控与调优 · 第 5 篇
OOM 是线上最棘手的故障之一。不同类型的 OOM 根因不同、排查方法不同。本篇系统梳理 OOM 类型、排查工具链与实战案例,形成完整的排查方法论。
一、OOM 的类型全景
OutOfMemoryError不只是"堆满了",JVM 的不同区域都可能抛出 OOM:
| OOM 类型 | 报错信息 | 根因区域 |
|---|---|---|
| 堆溢出 | Java heap space | 堆内存不足 |
| 堆溢出(大对象) | Requested array size exceeds VM limit | 数组过大 |
| 元空间溢出 | Metaspace/PermGen space | 类元数据过多 |