解决了。 实际上问题是G1的占用空间对于过程存储器来说很大,但是收集更加优化。
从ParallelOldGC或CMS收集器到G1时,较大的JVM进程大小主要与“记帐”数据结构(如记忆集和集合集)相关。
记住集或RSet跟踪对象引用到给定区域。堆中每个区域有一个RSet。 RSet支持并行和独立收集区域。 RSets的总体足迹影响小于5%。
集合设置或CSets将在GC中收集的区域集。在GC期间,CSet中的所有实时数据都被撤离(复制/移动)。区域集可以是伊甸园,幸存者和/或老一代。 CSets对JVM的大小影响不到1%。