jvm 引數配置

2022-06-14 04:48:08 字數 1264 閱讀 7772

堆設定-xms :初始堆大小

-xmx :最大堆大小

-xmn:設定年輕代大小

-xss:設定每個執行緒的堆疊大小

-xx:newsize=n :設定年輕代大小

-xx:newratio=n: 設定年輕代和年老代的比值。如:為3,表示年輕代與年老代比值為1:3,年輕代佔整個年輕代年老代和的1/4

-xx:survivorratio=n :年輕代中eden區與兩個survivor區的比值。注意survivor區有兩個。如:3,表示eden:survivor=3:2,乙個survivor區佔整個年輕代的1/5

-xx:maxpermsize=n :設定持久代大小

-xx:maxtenuringthreshold=0 :設定垃圾最大年齡。如果設定為0的話,則年輕代物件不經過survivor區,直接進入年老代 。

收集器設定

垃圾**統計資訊

並行收集器設定

併發收集器設定

吞吐量優先 的並行收集器響應時間優先 的併發收集器

調優總結

年輕代大小選擇

年老代大小選擇

減少年輕代和年老代花費的時間,一般會提高應用的效率

吞吐量優先的應用 :一般吞吐量優先的應用都有乙個很大的年輕代和乙個較小的年老代。原因是,這樣可以盡可能**掉大部分短期物件,減少中期的物件,而年老代盡存放長期存活物件。

較小堆引起的碎片問題

因為年老代的併發收集器使用標記、清除演算法,所以不會對堆進行壓縮。當收集器回 收時,他會把相鄰的空間進行 合併,這樣可以分配給較大的物件。但是,當堆空間較小時,執行一段時間以後,就會出現「碎片」,如果併發收集器找不到足夠的空 間,那麼併發收集器將會停止,然後使用傳統的標記、清除方式進行**。如果出現「碎片」,可能需要進行如下配置:

JVM引數配置

xmsn 指定jvm堆的初始大小,預設為物理記憶體的1 64,最小為1m,可以指定單位k m,如不指定預設為 位元組 xmxn 指定jvm堆的最大值,預設為物理記憶體的1 4或1g,最小為2m,單位與 xms一致。xssn 設定單個執行緒棧的大小,預設為512k xincgc 開啟增量gc 預設為關...

jvm 引數配置

vmargs xms256m xmx512m xx permsize 256m xx maxpermsize 512m vmargs 說明後面是vm的引數,所以後面的其實都是jvm的引數了 xms256m jvm初始分配的堆記憶體 xmx512m jvm最大允許分配的堆記憶體,按需分配 xx per...

jvm常用配置引數

有下面的一些jvm的引數,他們的預設值一般比較容易忽略,記錄下來,方便查詢 xms 預設情況下堆記憶體的64分之一 xmx 預設情況下對記憶體的4分之一 xmn 預設情況下堆記憶體的64分之一 xx newratio 預設為2 xx survivorratio 預設為8 避免concurrent m...