Minor GC是用来清理伊甸园空间的,对吧?但是我使用了jstat来查看我的GC日志。当伊甸园空间已满90%时,会出现95%的小GC。然而,有时我发现伊甸园空间几乎是空的。
我使用jdk7和g1gc。我的程序每秒处理五万个请求。由GC引起的每一次短暂的停顿都是显而易见的。
出于什么其他原因,GC会决定执行次要收集?
发布于 2015-05-15 19:11:04
Jstat向您显示采样数据。例如,如果运行jstat -gc <pid> 2s,jstat会每隔两秒显示一次堆和gc状态的快照。
因此,收集发生时,eden很可能是100%的,但您在jstat中看到的快照是在收集发生后的一段时间内拍摄的。
还有其他解释,例如,G1收集器在伊甸园100%满之前收集伊甸园。当eden似乎不满时,分配一个巨大的对象也可能触发gc。
https://stackoverflow.com/questions/30254877
复制相似问题