参数 | 默认值 | 使用介绍 |
DisableExplicitGC | 默认关闭 | 忽略来自System.gc()方法触发的垃圾收集 |
ExplicitGCInvokes Concurrent | 默认关闭 | 当收到来自System.gc()方法提交的垃圾收集申请时,使用CMS收集器进行收集 |
UseSerialGC | Client模式的虚拟机默认开启,其他模式关闭 | 虚拟机运行在Client模式下的默认值,打开此开关后,使用Serial+Serial Old的收集器组合进行内存回收 |
UseParNewGC | 默认关闭 | 打开此开关后,使用ParNew+Serial Old的收集器组合进行内存回收 |
UseConcMarkSweepGC | 默认关闭 | 打开此开关后,使用ParNew+CMS+Serial Old的收集器组合进行内存回收。如果CMS收集器出现Concurrent Mode Failure,则Serial Old收集器将作为后备收集器 |
UseParallelGC | Server模式的虚拟机默认开启,其他模式关闭 | 虚拟机运行在Server模式下的默认值,打开此开关后,使用Paraller Scavenge+Serial Old的收集齐组合进行内存回收 |
UseParallelOldGC | 默认关闭 | 打开此开关后,使用Parallel Scavenge + Parallel Old的收集器组合进行内存回收 |
SurvivorRatio | 默认值为8 | 新生代中Eden区域和Survivor区域的容量比值 |
PretenureSizeThreshold | 无默认值 | 直接晋升到老年代对象的大小,设置这个参数后,大于这个参数的对象将直接在老年代分配 |
MaxTenuringTheshold | 默认值为15 | 晋升到老年代的对象大小,每个对象在坚持过一次Minor GC之后,年龄就增加1,当超过这个参数的值时就进入老年代 |
UseAdaptiveSizePolicy | 默认开启 | 动态调整java堆中各个区域的大小,及进入老年代的年龄 |
HandlePromotionFailure | JDK1.5及以前版本默认关闭,JDK1.6默认开启 | 是否允许分配担保失败,即老年代的剩余空间不足以应付新生代的整个Eden和Survivor区的所有对象都存活的极端情况 |
ParallelGCthreads | 少于或等于8个CPU时默认值为CPU的数量值,多于8个时,比CPU数量值少 | 设置并行GC时进行回收的线程数 |
GCTimeRatio | 默认值为99 | GC时间占总时间的比例,默认值为99,即允许1%的GC时间。仅在使用Parallel Scavenge收集器时生效 |
MaxGCpauseMillis | 无默认值 | 设置GC的最大停顿时间。仅在使用Oarallel Scavenge收集器时生效 |
CMSInitiatingOccupancyFraction | 默认值为68 | 设置CMS收集器在完成老年代空间被使用多少次后触发垃圾收集,仅在使用CMS收集器时生效 |
UseCMSCompactAtFullCollection | 默认开启 | 设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片整理。仅在CMS收集器时生效 |
CMSFullGCBeforeCompation | 无默认值 | 设置CMS收集器在进行若干次垃圾收集后再启动一次内存碎片整理,仅在使用CMS收集器时生效 |
ScavengeBeforeFullGC | 默认开启 | 在Full GC发生之前触发一次Minor GC |
UseGCOvertheadLimit | 默认开启 | 禁止GC过程无限制地执行,如果过于频繁,就直接发生OutOfMemory异常 |
UseTLAB | Server模式默认开启 | 有限在本地线程缓冲器中分配对象,避免分配内存时的锁定过程 |
MaxHeapFreeRatio | 默认值为70 | 当Xmx值比Xms值大时,堆可以动态收缩和扩展,这个参数控制当堆空闲大于指定比率时自动收缩 |
MinHeapFreeRatio | 默认值为40 | 当Xmx值比Xms值大时,堆可以动态收缩和扩容,这个参数控制当堆空闲小于指定比率时自动扩展 |
MaxPermSize | 大部分情况下默认值时64MB | 永久代的默认值 |