【发布时间】:2019-02-22 17:41:44
【问题描述】:
我们的应用在加载大约 24 小时后显示频繁的 Full GC。强制重启。
当我们分析我们的 GC 日志时,表明在 20GB MaxHeap 中,只有 1GB 用于年轻代,19GB 用于 OLD 代。
命令选项为-Xms2g -Xmx20g
-Xms2g 应该增加到 10GB 还是等于 20GB,以便 NewRatio 默认比率为 2 可以让年轻代使用更大的 JVM 部分?
【问题讨论】:
-
当 JVM 觉得有必要将最初的 2GB 堆扩展到 20GB 时,肯定有这种需要,而拥有 19GB 的旧代会引发警报。那个 19GB Old Gen 真的满了吗?然后,您应该检查内存泄漏,而不是尝试调整 JVM。