JVM日誌+垃圾蒐集器引數
阿新 • • 發佈:2018-11-22
日誌關鍵字簡稱
PSYoungGen:PS是Parallel Scavenge收集器的縮寫,它配套的新生代稱為PSYoungGen,新生代又分化eden space、from space和to space這三部分。
ParOldGen:Parallel Scavenge收集器配套的老年代。
Metaspace:Parallel Scavenge收集器配套的永久代。
total & used:總的空間和用掉的空間。
DefNew(Default New Generation):Serial收集器的新生代,Serial收集器的老年代和永久代分別表示為"Tenured"、"Perm"。
垃圾蒐集器引數
垃圾蒐集器選擇引數
名稱 | 說明 | 備註 |
---|---|---|
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%的大小。 |
垃圾蒐集器效能通用引數
名稱 | 說明 | 備註 |
---|---|---|
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垃圾收集後,觸發一次記憶體整理。 |