UseSerialGC |
Client 模式下的默认值,打开后,使用 Serial + Serial Old 组合进行内存回收 |
UseParNewGC |
打开后,使用 ParNew + Serial Old 组合进行内存回收,JDK 9 后不再支持 |
UseConcMarkSweepGC |
打开后,使用 ParNew + CMS + Serial Old 组合进行内存回收。Serial Old 作为 CMS 收集出现“Concurrent Mode Failure”失败后的后备收集器使用 |
UseParallelGC |
JDK 9前Server 模式下的默认值,打开后,使用 Parallel Scavenge + Serial Old(PS MarkSweep)组合进行内存回收 |
UseParallelOldGC |
打开后,使用 Parallel Scavenge + Parallel Old 组合进行内存回收 |
SurvivorRatio |
新生代中 Eden 区域与 Survivor 区域的容量比值,默认为 8,代表 Eden : Survivor = 8:1 |
PretenureSizeShreshold |
直接晋升到老年代的对象大小,设置这个参数后,大于这个参数的对象将直接在老年代分配 |
MaxTenuringThreshold |
晋升到老年代的对象年龄。。每个对象在坚持过一次 Minor GC 之后,年龄就增加 1,当超过这个参数值时就进入老年代 |
UseAdaptiveSizePolicy |
动态调整 Java 堆中各个区域的大小以及进入老年代的年龄 |
HandlePromotionFailure |
是否允许分配担保失败,即老年代的剩余空间不足以应付新生代的整个 Eden 和 Survivor 区的所有对象都存活的极端情况 |
ParallelGCThreads |
设置并行GC时进行内存回收的线程数 |
GCTimeRatio |
GC时间占总时间点的比率,默认值为 99,即允许 1%的GC时间。仅在使用 Parallel Scavenge收集器时生效。 |
MaxGCPauseMillis |
设置GC的最大停顿时间,仅在使用 Parallel Scavenge 时生效。 |
CMSInitiatingOccupancyFraction |
设置CMS在老年代空间被使用多少后触发垃圾收集。默认值为 68%,仅在使用 CMS 时生效。 |
UseCMSCompactAtFullCollection |
设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片整理。仅在使用 CMS 时生效,JDK 9 后废弃 |
CMSFullGCsBeforeCompaction |
设置CMS在进行若干次垃圾收集后再启动一次内存碎片整理。。仅在使用 CMS 时生效,JDK 9 后废弃 |
UseG1GC |
使用 G1 收集器,JDK 9后 Server模式的默认值 |
G1HeapRegionSize=n |
设置 Region 大小,并非最终值 |
MaxGCPauseMillis |
设置 G1 收集过程目标时间,默认值 200ms,不是硬性条件 |
G1NewSizePercent |
新生代最小值,默认值 5% |
G1MaxNewSizePercent |
新生代最大值,默认值 60% |
ParallelGCThreads |
用户线程冻结期间并行执行的收集器线程数 |
ConcGCThreads=n |
并发标记、并发整理的执行线程数,对不同的收集器,根据其能够并发的阶段,有不同的含义 |
InitiatingHeapOccupancyPercent |
设置触发标记周期的 Java 堆占用率阈值。默认值 45%。这里的堆占比指 non_young_capacity_bytes,包括 old + humongous |
UseShenandoahGC |
Shenandoah何时启动一次 GC 过程,其可选值有 adaptive、static、compact、passive、aggressive |
UseZGC |
使用 ZGC 收集器,目前仍然要配合 -XX:+UnlockExperimentalVMOptions 使用 |
UseNUMA |
启用 NUMA 内存分配支持,目前只有 Parallel 和 ZGC 支持 |
网友评论