Minor GC用于清理Eden空间,对吗? 但我用jstat来观察我的GC日志。 当伊甸园空间满90%时,会发生95%的次要GC。 然而,有时我发现伊甸园的空间几乎是空的。
我使用jdk7和g1gc。我的程序每秒处理五万个请求。 GC的每一次暂停原因显然都是。
由于其他原因,GC会决定进行次要收集吗?
答案 0 :(得分:1)
Jstat向您显示采样数据。例如,如果运行jstat -gc <pid> 2s
,jstat会每隔两秒显示堆和gc状态的快照。
因此,当收集发生时,伊甸园很可能已达到100%但是你在jstat中看到的快照是在收集发生后的一段时间内拍摄的。
还有其他解释,例如G1收集器在100%满之前收集伊甸园。当伊甸园看起来不够饱满时,巨大物体的分配也可能触发gc。