常用 GC 參數(shù)

與串行收集器相關(guān)的參數(shù)

-XX:+ UseSerialGC: 在新生代和老年代使用串行收集器

-XX: SurvivorRatio: 設(shè)置 eden 區(qū)大小和 survivior 區(qū)大小的比例。

?-XX: PretenureSizeThreshold: 設(shè)置大對象直接進(jìn)入老年代的閾值。 當(dāng)對象的大小超過這個值時, 將直接在老年代

-XX: MaxTenuringThreshold: 設(shè)置對象進(jìn)入老 年代的年齡的最大值。 每一 次MinorGC后, 對象年齡 就加1。任何 大于這個年齡的對象, 一定會進(jìn)入老年代。

與并行收集器相關(guān)的參數(shù)

-XX:+ UseParNewGC: 在新生代使用并行收集器。

-XX:+ UseParallelOldGC: 老年代使用并行回收收集器。

-XX: ParallelGCThreads: 設(shè)置用于垃圾回收的線程數(shù)。 通過情況下可以和CPU數(shù)量相等, 但在 CPU 數(shù)量比較多的情況下, 設(shè)置相對較小的數(shù)值也是合理的。

-XX: MaxGCPauseMillis: 設(shè)置最大垃圾收集停頓時間。它的值是一 個大 于 0 的整數(shù)。 收集器在工作時, 會調(diào)整 Java 堆大小或者其他一些參數(shù), 盡可能地把停頓停頓時間控制在MaxGCPauseMillis 以內(nèi)。

-XX: GCTimeRatio: 設(shè)置吞吐量大小。 它的值是 一個 0 到 100 之間的整數(shù)。 假設(shè) GCTimeRatio 的 值 為 n, 那么系統(tǒng)將花費(fèi) 不超過 1/( 1+ n) 的 時間用于垃圾收集。

-XX:+ UseAdaptiveSizePolicy: 打開自適應(yīng) GC 策略。 在這種模式 下, 新生代的大小、 eden 和 survivior 的比例、 晉升老年代的對象年齡等參數(shù)會被自動調(diào)整, 以達(dá)到在堆大小、吞吐量和停頓時間之間的平衡點(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:允許對類元數(shù)據(jù)區(qū)進(jìn)行回收。

-XX:CMSInitiatingPermOccupancyFraction:當(dāng)永久區(qū)占用率達(dá)到這一百分比時,啟動CMS回收(前提是-XX:+CMSClassUnloadingEnabled激活了)。

-XX:+CMSIncrementalMode:使用增量模式,比較適合單CPU。增量模式在JDK8中標(biāo)記為廢棄,并且將在JDK9中徹底移除。

與 G1回收器相關(guān)的參數(shù)

-XX:+UseG1GC:使用G1回收器。

-XX:MaxGCPauseMillis:設(shè)置最大垃圾收集停頓時間。

-XX:GCPauseIntervalMillis:設(shè)置停頓間隔時間。

TLAB 相關(guān)

-XX:+UseTLAB:開啟TLAB分配。

-XX:+PrintTLAB:打印TLAB相關(guān)分配

-XX:TLABSize:設(shè)置TLAB大小。

-XX:+ResizeTLAB:自動調(diào)整TLAB大小。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • Java 虛擬機(jī)有自己完善的硬件架構(gòu), 如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM 屏蔽了與具體操作系...
    尹小凱閱讀 1,751評論 0 10
  • 原文閱讀 前言 這段時間懈怠了,罪過! 最近看到有同事也開始用上了微信公眾號寫博客了,挺好的~給他們點(diǎn)贊,這博客我...
    碼農(nóng)戲碼閱讀 6,157評論 2 31
  • 這篇文章是我之前翻閱了不少的書籍以及從網(wǎng)絡(luò)上收集的一些資料的整理,因此不免有一些不準(zhǔn)確的地方,同時不同JDK版本的...
    高廣超閱讀 16,056評論 3 83
  • http://www.cnblogs.com/angeldevil/p/3801189.html值得一看 Clas...
    snail_knight閱讀 1,611評論 1 0
  • 轉(zhuǎn)自別人的博客http://www.cnblogs.com/mockitobuilder/p/3754509.ht...
    JaeGwen閱讀 798評論 0 1

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