我正在使用 CMS 收集器。
我通过 GC 日志看到了次要 GC。但我发现当 Eden 未 100% 满时,就会发生小型 GC。这会发生吗?是否有任何参数/配置可以避免这种情况并利用 100% Eden。?
最佳答案
伊甸园已满,并不意味着最后一个字节之前的所有内容都被占用。
如果您查看 GC 日志,第一个集合会显示年轻代
9857949K->177992K(11684160K)
。
这意味着年轻代已占用 11'684'160 kB 可用总量中的 9'857'949 kB(84.4%) )。
随后我们看到9914824K->139689K(11684160K)
,即84.8%,最后是9876521K->115958K(11684160K)
,即<强>84.5%。
因此,年轻一代对我来说看起来已经足够了。考虑到新对象创建速度、可用的 Survivor1 和 Survivor2 空间以及其他因素的数量,完全有可能 84% 已满,足以开始行动。
关于java - 当 Eden 未满时发生 Minor GC。当Eden未满时,会出现Minor GC的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357477/