Java 伊甸园未满时发生的小GC。当伊甸园未满时,发生轻微GC的原因是什么?

Java 伊甸园未满时发生的小GC。当伊甸园未满时,发生轻微GC的原因是什么?,java,garbage-collection,jvm,heap,heap-memory,Java,Garbage Collection,Jvm,Heap,Heap Memory,我正在使用CMS收集器 我通过GC日志看到了次要的GCs。但我看到当伊甸园不是100%满的时候会发生一些小的GCs。这会发生吗?是否有任何参数/配置可以避免这种情况,并利用100%的伊甸园?您的幸存者比率为5,并且您有两个幸存者空间。您的Eden空间是5/(5+1+1)或9.28 GB,看起来您使用的不仅仅是这些。看来你的幸存者空间太小了。我建议您将其增加到10或20,您将拥有更大的伊甸园空间。您的幸存者比率为5,您有两个幸存者空间。您的Eden空间是5/(5+1+1)或9.28 GB,看起来您

我正在使用CMS收集器


我通过GC日志看到了次要的GCs。但我看到当伊甸园不是100%满的时候会发生一些小的GCs。这会发生吗?是否有任何参数/配置可以避免这种情况,并利用100%的伊甸园?

您的
幸存者比率为5,并且您有两个幸存者空间。您的Eden空间是
5/(5+1+1)
9.28 GB
,看起来您使用的不仅仅是这些。看来你的幸存者空间太小了。我建议您将其增加到10或20,您将拥有更大的伊甸园空间。

您的
幸存者比率为5,您有两个幸存者空间。您的Eden空间是
5/(5+1+1)
9.28 GB
,看起来您使用的不仅仅是这些。看来你的幸存者空间太小了。我建议您将其增加到10或20,您将拥有更大的伊甸园空间。

伊甸园已满,并不意味着直到最后一个字节为止的所有内容都已被占用

如果您查看GC日志,第一个集合将显示年轻一代
9857949K->177992K(11684160K)

这意味着年轻一代的9'857'949KB占可用11'684'160KB的总量(84.4%

随后我们看到
9914824K->139689K(11684160K)
,它是84.8%,最后是
9876521K->115958K(11684160K)
,它是84.5%


因此,对我来说,那一代年轻人看起来已经足够充实了。考虑到新对象的创建速度、可用的Survivor1和Survivor2空间以及其他因素的数量,84%的空间完全有可能已经满了,可以开始行动了

伊甸园满了,并不意味着直到最后一个字节都被占用了

如果您查看GC日志,第一个集合将显示年轻一代
9857949K->177992K(11684160K)

这意味着年轻一代的9'857'949KB占可用11'684'160KB的总量(84.4%

随后我们看到
9914824K->139689K(11684160K)
,它是84.8%,最后是
9876521K->115958K(11684160K)
,它是84.5%


因此,对我来说,那一代年轻人看起来已经足够充实了。考虑到新对象的创建速度、可用的Survivor1和Survivor2空间以及其他因素的数量,84%的空间完全有可能已经满了,可以开始行动了

谢谢。我希望这是正常的。我松了一口气,谢谢。我希望这是正常的。我感到宽慰。