溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中常見(jiàn)的GC參數(shù)有哪些

發(fā)布時(shí)間:2021-09-27 10:46:37 來(lái)源:億速云 閱讀:144 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Java中常見(jiàn)的GC參數(shù)有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

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

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

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

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

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

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

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

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

  • -XX:ParallelGCThreads:設(shè)置用于垃圾回收的線程數(shù)。通過(guò)情況下可以和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)不超過(guò) 1/( 1+ n) 的時(shí)間用于垃圾收集。

  • -XX:+UseAdaptiveSizePolicy:打開(kāi)自適應(yīng) GC 策略。在這種模式下,新生代的大小、 edensurvivior 的比例、晉升老年代的對(duì)象年齡等參數(shù)會(huì)被自動(dòng)調(diào)整,以達(dá)到在堆大小、吞吐量和停頓時(shí)間之間的平衡點(diǎn)

3. 與 CMS 收集器相關(guān)的參數(shù)

  • -XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器。

  • -XX:ParallelCMSThreads:設(shè)定CMS的線程數(shù)量。

  • -XX:CMSInitiatingOccupancyFraction:設(shè)置CMS收集器在老年代空間被使用多少后觸發(fā),默認(rèn)為68%。

  • -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:UseCMSInitiatingOccupancyOnly:表示只在到達(dá)閾值的時(shí)候才進(jìn)行CMS回收。

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

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

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

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

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

5. TLAB 相關(guān)

  • -XX:+UseTLAB:開(kāi)啟TLAB分配。

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

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

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

6. 其他參數(shù)

  • -XX:+DisableExplicitGC:禁用顯式GC

  • -XX:+ExplicitGCInvokesConcurrent:使用并發(fā)方式處理顯式GC

以上是“Java中常見(jiàn)的GC參數(shù)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI