與串行收集器相關(guān)的參數(shù)
-XX:+ UseSerialGC: 在新生代和老年代使用串行收集器
-XX: SurvivorRatio: 設(shè)置 eden 區(qū)大小和 survivior 區(qū)大小的比例。
?-XX: PretenureSizeThreshold: 設(shè)置大對(duì)象直接進(jìn)入老年代的閾值。 當(dāng)對(duì)象的大小超過這個(gè)值時(shí)陷猫, 將直接在老年代
-XX: MaxTenuringThreshold: 設(shè)置對(duì)象進(jìn)入老 年代的年齡的最大值捕捂。 每一 次MinorGC后, 對(duì)象年齡 就加1。任何 大于這個(gè)年齡的對(duì)象, 一定會(huì)進(jìn)入老年代。
與并行收集器相關(guān)的參數(shù)
-XX:+ UseParNewGC: 在新生代使用并行收集器够吩。
-XX:+ UseParallelOldGC: 老年代使用并行回收收集器。
-XX: ParallelGCThreads: 設(shè)置用于垃圾回收的線程數(shù)丈氓。 通過情況下可以和CPU數(shù)量相等周循, 但在 CPU 數(shù)量比較多的情況下, 設(shè)置相對(duì)較小的數(shù)值也是合理的万俗。
-XX: MaxGCPauseMillis: 設(shè)置最大垃圾收集停頓時(shí)間湾笛。它的值是一 個(gè)大 于 0 的整數(shù)。 收集器在工作時(shí)闰歪, 會(huì)調(diào)整 Java 堆大小或者其他一些參數(shù)嚎研, 盡可能地把停頓停頓時(shí)間控制在MaxGCPauseMillis 以內(nèi)。
-XX: GCTimeRatio: 設(shè)置吞吐量大小库倘。 它的值是 一個(gè) 0 到 100 之間的整數(shù)临扮。 假設(shè) GCTimeRatio 的 值 為 n, 那么系統(tǒng)將花費(fèi) 不超過 1/( 1+ n) 的 時(shí)間用于垃圾收集教翩。
-XX:+ UseAdaptiveSizePolicy: 打開自適應(yīng) GC 策略杆勇。 在這種模式 下, 新生代的大小饱亿、 eden 和 survivior 的比例蚜退、 晉升老年代的對(duì)象年齡等參數(shù)會(huì)被自動(dòng)調(diào)整闰靴, 以達(dá)到在堆大小、吞吐量和停頓時(shí)間之間的平衡點(diǎn)
與 CMS 收集器相關(guān)的參數(shù)
-XX:+UseConcMarkSweepGC:新生代使用并行收集器关霸,老年代使用CMS+串行收集器。
-XX:ParallelCMSThreads:設(shè)定CMS的線程數(shù)量杰扫。
-XX:CMSInitiatingOccupancyFraction:設(shè)置CMS收集器在老年代空間被使用多少后觸發(fā)队寇,默認(rèn)為68%。(92%)
-XX:+UseCMSCompactAtFullCollection:設(shè)置CMS收集器在完成垃圾收集后是否要進(jìn)行一次內(nèi)存碎片的整理章姓。
-XX:CMSFullGCsBeforeCompaction:設(shè)定進(jìn)行多少次CMS垃圾回收后佳遣,進(jìn)行一次內(nèi)存壓縮。
-XX:+CMSClassUnloadingEnabled:允許對(duì)類元數(shù)據(jù)區(qū)進(jìn)行回收凡伊。
-XX:CMSInitiatingPermOccupancyFraction:當(dāng)永久區(qū)占用率達(dá)到這一百分比時(shí)零渐,啟動(dòng)CMS回收(前提是-XX:+CMSClassUnloadingEnabled激活了)。
-XX:+CMSIncrementalMode:使用增量模式系忙,比較適合單CPU诵盼。增量模式在JDK8中標(biāo)記為廢棄,并且將在JDK9中徹底移除银还。
與 G1回收器相關(guān)的參數(shù)
-XX:+UseG1GC:使用G1回收器风宁。
-XX:MaxGCPauseMillis:設(shè)置最大垃圾收集停頓時(shí)間。
-XX:GCPauseIntervalMillis:設(shè)置停頓間隔時(shí)間蛹疯。
TLAB 相關(guān)
-XX:+UseTLAB:開啟TLAB分配戒财。
-XX:+PrintTLAB:打印TLAB相關(guān)分配
-XX:TLABSize:設(shè)置TLAB大小。
-XX:+ResizeTLAB:自動(dòng)調(diào)整TLAB大小捺弦。