jvm 垃圾收集器參數

垃圾蒐集器選擇參數

 

          UseSerialGC:開啓此參數使用serial & serial old蒐集器(client模式默認值)。

          UseParNewGC:開啓此參數使用ParNew & serial old蒐集器(不推薦)。

          UseConcMarkSweepGC:開啓此參數使用ParNew & CMS(serial old爲替補)蒐集器。

          UseParallelGC:開啓此參數使用parallel scavenge & parallel old蒐集器(server模式默認值)。

          UseParallelOldGC:開啓此參數在年老代使用parallel old蒐集器(該參數在JDK1.5之後已無用)。

 

JVM各個內存區域大小相關參數

 

          Xms:堆的初始值。默認爲物理內存的1/64,最大不超1G。

          Xmx:堆的最大值。默認爲物理內存的1/4,最大不超1G。

          Xmn:新生代的大小。

          Xss:線程棧大小。

          PermSize:永久代初始大小。默認爲物理內存的1/64,最大不超1G。

          MaxPermSize:永久代最大值。默認爲物理內存的1/4,最大不超1G。

          NewRatio:新生代與年老代的比例。比如爲3,則新生代佔堆的1/4,年老代佔3/4。

          SurvivorRatio:新生代中調整eden區與survivor區的比例,默認爲8,即eden區爲80%的大小,兩個survivor分別爲10%的大小。(備註:這個參數設定是講解複製算法那一章中,解決複製算法內存減半的辦法。eden區即是複製算法一章中80%的那部分,而survivor區則是兩個10%的那部分。)

 

垃圾蒐集器性能通用參數

          

          PretenureSizeThreshold:晉升年老代的對象大小。默認爲0,比如設爲10M,則超過10M的對象將不在eden區分配,而直接進入年老代。

          MaxTenuringThreshold:晉升老年代的最大年齡。默認爲15,比如設爲10,則對象在10次普通GC後將會被放入年老代。

          DisableExplicitGC:禁用System.gc()。

 

並行蒐集器參數

 

          ParallelGCThreads:回收時開啓的線程數。默認與CPU個數相等。

          GCTimeRatio:設置系統的吞吐量。比如設爲99,則GC時間比爲1/1+99=1%,也就是要求吞吐量爲99%。若無法滿足會縮小新生代大小。

          MaxGCPauseMillis:設置垃圾回收的最大停頓時間。若無法滿足設置值,則會優先縮小新生代大小,仍無法滿足的話則會犧牲吞吐量。

          

併發蒐集器參數

 

          CMSInitiatingOccupancyFraction:觸發CMS收集器的內存比例。比如60%的意思就是說,當內存達到60%,就會開始進行CMS併發收集。

          UseCMSCompactAtFullCollection:這個前面已經提過,用於在每一次CMS收集器清理垃圾後送一次內存整理。

          CMSFullGCsBeforeCompaction:設置在幾次CMS垃圾收集後,觸發一次內存整理。

發佈了83 篇原創文章 · 獲贊 26 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章