CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页问答Java应用出现OOM(OutOfMemoryError)怎么排查?

Java应用出现OOM(OutOfMemoryError)怎么排查?

#Java#OOM#OutOfMemoryError#内存泄漏#JVM排查

CNOps | 2026-04-14

当Java应用抛出java.lang.OutOfMemoryError错误时,排查步骤如下:

  1. 确定OOM类型:常见类型包括Java heap space(堆内存溢出)、Metaspace(元空间溢出)、GC overhead limit exceeded(GC开销超限)等,不同类型对应不同的排查方向
  2. 监控分析:通过JVM监控观察新生代、老年代、Metaspace、DirectBuffer等各区域内存变化趋势,判断是哪个区域出现异常增长
  3. 定界问题来源:判断内存问题发生在堆内还是堆外。堆内问题可通过jmap等工具下载内存快照(heap dump),检查占比高的内存对象;堆外问题需要使用NMT(Native Memory Tracking)等工具监测堆外内存申请情况
  4. 深入分析:使用ARMS的白屏化内存快照功能便捷地创建和获取快照,结合ATP分析工具深入分析JVM内存对象与引用关系,定位到具体的泄漏点
  5. 根因修复:常见修复措施包括修复内存泄漏代码、调整-Xms/-Xmx堆大小参数、优化大对象分配策略等

推荐文章

超过 2000+ 位开发者正在阅读

给 OpenClaw 加上企业级 Memory

给 OpenClaw 加上企业级 Memory

4646 阅读

阿里云 STAROps 全域智能运维平台发布!

阿里云 STAROps 全域智能运维平台发布!

3453 阅读

阿里云正式发布 RCA Benchmark

阿里云正式发布 RCA Benchmark

2716 阅读

推荐视频

UModel 最佳实践 Vol.1 UModel 数据建模全景解读

UModel 最佳实践 Vol.1 UModel 数据建模全景解读

3854 观看50:35
云监控2.0全景:可观测范式升级与智能运维蓝图

云监控2.0全景:可观测范式升级与智能运维蓝图

2532 观看41:06

推荐工具

精选可观测领域开发者工具

云监

云监控 2.0 沙箱体验

7483 使用

免费

免费网络拨测工具

2746 使用