【发布时间】:2014-12-10 15:33:07
【问题描述】:
我正在监控一个应用,其 GC 详细日志如下所示:
该图绘制了 GC 运行后已使用的 Tenured 数量。
如您所见,存在明显的内存泄漏,但我想知道在每次 GC 运行时找出哪个组件占用大约 50MB 内存的最佳下一步是什么。
这台机器是运行 IBM 的 JVM 5 的 AIX 6.1。
谢谢
【问题讨论】:
标签: memory-leaks garbage-collection jvm out-of-memory aix
我正在监控一个应用,其 GC 详细日志如下所示:
该图绘制了 GC 运行后已使用的 Tenured 数量。
如您所见,存在明显的内存泄漏,但我想知道在每次 GC 运行时找出哪个组件占用大约 50MB 内存的最佳下一步是什么。
这台机器是运行 IBM 的 JVM 5 的 AIX 6.1。
谢谢
【问题讨论】:
标签: memory-leaks garbage-collection jvm out-of-memory aix
图表中的模式绝对看起来像是典型的内存泄漏,随着时间的推移在永久空间中累积。您最好的方法是堆转储分析器 - 以堆转储为例,类似于以下
jmap -dump:format=b,file=dump.bin <your java process id>
并分析转储文件,例如使用Eclipse Memory Analyzer。
【讨论】: