3.2.2. 分析 Heap Dump


堆转储分析工具

有许多工具可以分析堆转储文件并帮助识别问题。红帽支持建议使用 Eclipse Memory Analyzer 工具(MAT),该工具可分析 HPROF 或 PHD 格式的堆转储。

有关使用 Eclipse MAT 的详情请参考 Eclipse MAT 文档

Hap Dump Analysis Tips

有时,堆性能问题的原因显而易见,但有时您可能需要了解应用的代码和导致 OutOfMemoryError 等问题的具体情况。这有助于识别问题是否为内存泄漏,或者堆是否足够大。

些识别内存用量问题的建议包括:

  • 如果发现单个对象消耗过多内存,请尝试类分组,以查看许多小对象消耗了大量内存。
  • 检查内存的最大使用量是否为线程。这是一个很好的指示点,即 OutOfMemoryError-triggered 堆转储比指定的 Xmx 最大堆大小小得多。
  • 使内存泄漏更易于检测的一种技巧是暂时使通常的最大堆大小加倍。发生 OutOfMemoryError 时,与内存泄漏相关的对象大小大约是堆大小的一半。

识别内存问题的来源后,您可以查看垃圾回收 root 的路径,以查看对象的活跃状态。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.