GC - 垃圾收集器參數(shù)

參數(shù) 描述
UseSerialGC Client 模式下的默認(rèn)值,打開后,使用 Serial + Serial Old 組合進(jìn)行內(nèi)存回收
UseParNewGC 打開后,使用 ParNew + Serial Old 組合進(jìn)行內(nèi)存回收,JDK 9 后不再支持
UseConcMarkSweepGC 打開后,使用 ParNew + CMS + Serial Old 組合進(jìn)行內(nèi)存回收。Serial Old 作為 CMS 收集出現(xiàn)“Concurrent Mode Failure”失敗后的后備收集器使用
UseParallelGC JDK 9前Server 模式下的默認(rèn)值,打開后,使用 Parallel Scavenge + Serial Old(PS MarkSweep)組合進(jìn)行內(nèi)存回收
UseParallelOldGC 打開后,使用 Parallel Scavenge + Parallel Old 組合進(jìn)行內(nèi)存回收
SurvivorRatio 新生代中 Eden 區(qū)域與 Survivor 區(qū)域的容量比值,默認(rèn)為 8,代表 Eden : Survivor = 8:1
PretenureSizeShreshold 直接晉升到老年代的對象大小,設(shè)置這個(gè)參數(shù)后,大于這個(gè)參數(shù)的對象將直接在老年代分配
MaxTenuringThreshold 晉升到老年代的對象年齡。。每個(gè)對象在堅(jiān)持過一次 Minor GC 之后,年齡就增加 1,當(dāng)超過這個(gè)參數(shù)值時(shí)就進(jìn)入老年代
UseAdaptiveSizePolicy 動態(tài)調(diào)整 Java 堆中各個(gè)區(qū)域的大小以及進(jìn)入老年代的年齡
HandlePromotionFailure 是否允許分配擔(dān)保失敗,即老年代的剩余空間不足以應(yīng)付新生代的整個(gè) Eden 和 Survivor 區(qū)的所有對象都存活的極端情況
ParallelGCThreads 設(shè)置并行GC時(shí)進(jìn)行內(nèi)存回收的線程數(shù)
GCTimeRatio GC時(shí)間占總時(shí)間點(diǎn)的比率,默認(rèn)值為 99,即允許 1%的GC時(shí)間。僅在使用 Parallel Scavenge收集器時(shí)生效。
MaxGCPauseMillis 設(shè)置GC的最大停頓時(shí)間,僅在使用 Parallel Scavenge 時(shí)生效。
CMSInitiatingOccupancyFraction 設(shè)置CMS在老年代空間被使用多少后觸發(fā)垃圾收集。默認(rèn)值為 68%,僅在使用 CMS 時(shí)生效。
UseCMSCompactAtFullCollection 設(shè)置CMS收集器在完成垃圾收集后是否要進(jìn)行一次內(nèi)存碎片整理。僅在使用 CMS 時(shí)生效,JDK 9 后廢棄
CMSFullGCsBeforeCompaction 設(shè)置CMS在進(jìn)行若干次垃圾收集后再啟動一次內(nèi)存碎片整理。。僅在使用 CMS 時(shí)生效,JDK 9 后廢棄
UseG1GC 使用 G1 收集器,JDK 9后 Server模式的默認(rèn)值
G1HeapRegionSize=n 設(shè)置 Region 大小,并非最終值
MaxGCPauseMillis 設(shè)置 G1 收集過程目標(biāo)時(shí)間,默認(rèn)值 200ms,不是硬性條件
G1NewSizePercent 新生代最小值,默認(rèn)值 5%
G1MaxNewSizePercent 新生代最大值,默認(rèn)值 60%
ParallelGCThreads 用戶線程凍結(jié)期間并行執(zhí)行的收集器線程數(shù)
ConcGCThreads=n 并發(fā)標(biāo)記、并發(fā)整理的執(zhí)行線程數(shù),對不同的收集器,根據(jù)其能夠并發(fā)的階段,有不同的含義
InitiatingHeapOccupancyPercent 設(shè)置觸發(fā)標(biāo)記周期的 Java 堆占用率閾值。默認(rèn)值 45%。這里的堆占比指 non_young_capacity_bytes,包括 old + humongous
UseShenandoahGC Shenandoah何時(shí)啟動一次 GC 過程,其可選值有 adaptive、static、compact、passive、aggressive
UseZGC 使用 ZGC 收集器,目前仍然要配合 -XX:+UnlockExperimentalVMOptions 使用
UseNUMA 啟用 NUMA 內(nèi)存分配支持,目前只有 Parallel 和 ZGC 支持
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容