6、 CMS GC。老年代收集器,采用标记-清除算法,并行收集老年代内存垃圾,不整理内存。由于在执行垃圾收集期间不中断业务线程,所以容易产出“浮动垃圾”,导致Full GC。可以通过设置参数来触发内存整理任务。
7、 G1 GC。不再将堆内存区分新生代和老年代,而是将堆内存看作若干个均分小区域,并对最空闲的内存区域进行标记和回收。适用于大内存的应用。
配置垃圾收集机器参数1、UseSerialGC:虚拟机允许在Client模式下的默认值,打开此配置后,虚拟机使用Serial GC + Serial Old GC 的收集器组合进行内存回收。
2、UseParNewGc:使用ParNew + Serial Old 的收集器组合进行内存回收。
3、UseConcMarkSweepGC:使用ParNew + CMS + Serial Old GC的收集器组合进行内存回收。
4、UseParallelGC:虚拟机允许在Server模式下的默认值,使用Parallel Scavenge + Serial Old 的收集器组合进行内存回收。
5、UseParallelOldGC: 使用Parallel Scavenge + Parallel Old GC的收集器组合进行内存回收。
6、SuriviorRatio:新生代中Eden区域与Surivior区域的容量比值,默认是8:1。
7、PretenureSizeThreshold:设置这个值后,大于这个值的对象直接进入老年代。
8、MaxtenuringThreshold:对象年龄超过这个值时进入老年代。
9、ParallelGCThreads:设置并行GC时进行内存回收的线程数。
10、UseAdaptiveSizePolicy:动态调整堆内存中各个区域的大小和进入老年代的对象年龄。
11、HandlerPromotionFailure:是否允许分配担保失败。
12、GCTimeRatio:仅在Parallel ScaVenge收集器时生效,设置GC时间占总运行时间的比率,默认为1%。
13、MaxGCPauseMills:仅在Parallel ScaVenge收集器时生效,设置GC的最大停顿时间。
14、CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发垃圾收集,默认68%,在设置CMS收集器时生效。
15、UseCMSCompactAtFullCollection:在设置CMS收集器时生效,设置CMS收集器在完成垃圾收集后是否进行一次碎片整理。
16、CMSFullGCsBeforeCompaction:仅在使用CMS时生效,设置CMS收集器在进行若干次收集后再启动一次内存碎片整理。