一 参数设置
-
-XX:+UseG1GC:手动指定使用 G1 垃圾收集器执行内存回收任务。
-
-XX:G1HeapRegionSize: 设置每个 Region 的大小。值是2的幂,范围是 1MB 到 32MB 之间,目标是根据最小的 Java 堆大小划分出约2048个区域。默认是堆内存的1/2000。
-
-XX:MaxGCPauseMillis:设置期望达到的最大 GC 停顿时间指标(JVM会尽力实现,但不保证达到)。默认值是200ms。
-
-XX:+ParallelGCThread:设置 STW时 GC 线程数的值。最多设置为8。
-
-XX:ConcGCThreads:设置并发标记的线程数。将 n 设置为并行垃圾回收线程数(ParallelGcThreads)的 1/4 左右。
-
-XX:InitiatingHeapOccupancyPercent:设置触发并发 GC 周期的 Java 堆占用率阈值。超过此值,就触发 GC。默认值是45。
二 G1收集器的常见操作步骤
G1 的设计原则就是简化 JVM 性能调优,开发人员只需要简单的三步即可完成调优:
-
第一步:开启 G1 垃圾收集器。
-
第二步:设置堆的最大内存。
-
第三步:设置最大的停顿时间。
G1 中提供了三种垃圾回收模式:YoungGC、Mixed GC 和 FullGC,在不同的条件下被触发。