【G1】参数配置 - shenjy24/jackal-gc GitHub Wiki
             
-XX:+UseG1GC: 采用 Garbage First (G1) 收集器。 
-XX:MaxGCPauseMillis: 设置G1收集过程目标时间,默认值200ms,JVM 会尽可能的满足此值。 
-XX:InitiatingHeapOccupancyPercent: 当整个堆占用超过某个百分比时,就会触发并发GC周期,这个百分比默认是45%。如果应用没有大的cpu负载压力,可以适当降低这个值,带来的好处就是提前开始Concurrent Marking Cycle Phases,进一步来说,回收年轻代和老年代会提前开始,这样有利于防止年轻代晋升老年代失败(老年代容量不足)而触发Full GC。 
-XX:ParallelGCThreads: STW期间,并行GC线程数。 
-XX:ConcGCThreads: 用于并发工作的最大线程数。 默认情况下,该值为-XX:ParallelGCThreads除以 4。 
-XX:G1NewSizePercent: 新生代最小值,默认值5%。 
-XX:G1MaxNewSizePercent: 新生代最大值,默认值60%。 
-XX:G1HeapRegionSize: 指定分区大小(1MB~32MB,且必须是2的幂),默认将整堆划分为2048个分区。 
-XX:G1HeapWastePercent: 默认5%, gc过程中空出来的region是否充足阈值。在混合回收的时候,对Region回收都是基于复制算法进行的,都是把要回收的Region里的存活对象放入其他 Region,然后这个Region中的垃圾对象全部清理掉,这样的话在回收过程就会不断空出来新的 Region,一旦空闲出来的Region数量达到了堆内存的5%,此时就会立即停止混合回收,意味着 本次混合回收就结束了。 
-XX:G1MixedGCCountTarget:  在一次回收过程中指定做几次筛选回收(默认8次),在最后一个筛选回收阶段可以回收一会,然后暂停回收,恢复系统运行,一会再开始回收,这样可以让系统不至于单次停顿时间过长。 
-XX:G1MixedGCLiveThresholdPercent: 默认85%,region中的存活对象低于这个值时才会回收该region,如果超过这个值,存活对象过多,回收的的意义不大。 
参考资料
JVM之G1回收器和常见参数配置
Ergonomic Defaults for G1 GC