Java垃圾收集器參數及其含義

Java垃圾收集器參數及其含義

    先來回顧一下java的垃圾收集器有哪些:
1,Serial收集器
2,ParNew收集器
3,Parallel Scavenge收集器
4,Serial Old收集器
5,Parallel Old收集器
6,CMS收集器(Concurrent Mark Sweep)

7,G1收集器(Garbage First)




垃圾收集器參數及其含義
UseSerialGC JVM運行在Client模式下的默認值,此參數開啓後,JVM將使用Serial收集器和
Serial Old收集器組合進行垃圾回收。
UseParNewGC 此參數開啓後,JVM將使用ParNew收集器和Serial Old收集器組合進行垃圾回收。
UseConcMarkSweepGC 此參數開啓後,使用ParNew+CMS+Serial Old收集器組合進行內存回收。
Serial Old收集器將作爲CMS收集器出現Concurrent Mode Failure失敗後的後備收集器使用。
UseParallelGC JVM運行在Server模式下的默認值,此參數開啓後,使用Parallel Scavenge+
Serial Old收集器組合進行內存回收。
UseParallelOldGC 此參數開啓後,使用Parallel Scavenge+Parallel Old收集器組合進行內存
回收。
SurvivorRatio 新生代中Eden區和Survivor區域的容量比值,默認值爲8,即Eden:Survivor=8:1
PretenureSizeThreshold 直接晉升到老年代的對象大小,也就是說大於這個參數的對象,將會
直接分配到老年代。
MaxTenuringThreshold 晉升到老年代的對象年齡。當對象的年齡超過這個參數時,就會晉升到
老年代。
UseAdaptiveSizePolicy 動態調整Java堆中各個區域的大小以及進入老年代的年齡。
HandlePromotionFailure 是否允許分配擔保失敗,也就是說,當老年代的剩餘空間不足以應付
新生代的整個Eden區和Survivor區的所有對象都存活的極端情況。
ParallelGCThreshold 設置並行GC時進行內存回收的線程數。
GCTimeRatio GC時間佔比,默認值爲99,也就是允許1%的GC時間,僅僅在使用Parallel Scavenge
收集器時生效。
MaxGCPauseMillis 設置GC的最大停頓時間。僅僅在使用Parallel Scavenge收集器時生效。
CMSInitiatingOccupancyFraction 設置CMS收集器在老年代空間被使用多少後GC。默認值68%,僅
僅在使用CMS收集器時生效。
UseCMSCompactAtFullCollection 設置CMS收集器在完成GC後是否需要進行一次內存碎片整理,僅
僅在使用CMS收集器時生效。
CMSFullGCsBeforeCompaction 設置CMS收集器在進行若干次GC後再啓動一次內存碎片整理,僅
僅在使用CMS收集器時生效。

                                          -- 以上內容整理自《深入理解Java虛擬機》


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章