《深刻理解Java虛擬機》——垃圾收集器參數總結

JDK1.6垃圾收集相關參數
線程

參數 描述
UseSerialGC 虛擬機運行在Client模式下的默認值,打開此開關後,使用Serial+Serial Old的收集器組合進行內存回收
UseParNewGC 打開此開關後,使用ParNew+Serial Old的收集器組合進行內存回收
UseConcMarkSweepGC 打開此開關後,使用ParNew+CMS+Serial Old的收集器組合進行內存回收。Serial Old收集器將做爲CMS收集器出現Concurrent Mode Failure失敗後的後壁收集器使用
UseParallelGC 虛擬機運行在Server模式下的默認值,打開此開關後,使用Parallel Scavenge+Serial Old(PS MarkSweep)的收集器組合進行內存回收
UseParallelOldGC 打開此開關後,使用Parallel Scavenge+Parallel Old的收集器組合進行內存回收
SurvivorRatio 新生代中Eden區域與Survivor區域的容量比值,默認爲8,表明Eden:Survivor=8:1
PretenureSizeThreshold 直接晉升到老年代的對象大小,設置這個參數後,大於這個參數的對象將直接在老年代分配
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收集器時生效
CMSFullGCsBeforeCompaction 設置CMS收集器在進行若干次垃圾收集後再啓動一次內存碎片整理。僅在使用CMS收集器時生效
相關文章
相關標籤/搜索