【发布时间】:2019-11-16 04:54:21
【问题描述】:
我有一个 29G 堆转储,由 Hotspot VM 在OutOfMemoryError 发生后创建。堆分析器(我使用 YourKit)显示所有对象(包括无法访问的对象)占用 26G。我的猜测是剩余的 3G 被浪费了,因为堆是碎片化的。有没有办法验证这个理论?
【问题讨论】:
-
现代的分代垃圾收集器真的会发生堆碎片吗?
-
@Raedwald 感谢您的链接。堆是从 JRE 8 收集的;不幸的是,我在转储中没有 VM 参数,所以 GC 是 Parallel GC 或 G1。
标签: java jvm heap-dump fragmentation