對於jvm記憶體配置引數:
-xmx10240m -xms10240m -xmn5120m -xxsurvivorratio=3
,其最小記憶體值和survivor區總大小分別是()
-xms :設定堆的最小值
-xmx:設定堆的最小值和最大值。
-xmn:設定了新生代的大小為5120m
-xxsurvivorratio=3:設定eden:survivor=3:1
jvm中分為堆和方法區
堆又進一步分為新生代和老年代
方法區為永久代
堆中區分的新生代和老年代是為了垃圾**,新生代中的物件存活期一般不長,而老年代中的物件存活期較長,所以當垃圾**器**記憶體時,新生代中垃圾**效果較好,會**大量的記憶體,而老年代中**效果較差,記憶體**不會太多。
基於以上特性,新生代中一般採用複製演算法,因為存活下來的物件是少數,所需要複製的物件少,而老年代物件存活多,不適合採用複製演算法,一般是標記整理和標記清除演算法。
因為複製演算法需要留出一塊單獨的記憶體空間來以備垃圾**時複製物件使用,所以將新生代分為eden區和兩個survivor區,每次使用eden和乙個survivor區,另乙個survivor作為備用的物件複製記憶體區。
最小記憶體值就是初始堆的大小
-xmn設定了新生代的大小為5120m,而-xxsurvivorratio=3
eden+2*survivor=5120
3*survivor+2*survivor=5120
5*survivor=5120
survivor=1024
JVM記憶體配置引數
對於jvm記憶體配置引數 xmx10240m xms10240m xmn5120m xxsurvivorratio 3 其最小記憶體值和survivor區總大小分別是 5120m,1024m 5120m,2048m 10240m,1024m 10240m,2048m xmx10240m 代表最大堆 ...
JVM記憶體引數配置
首先我們知道 jvm發生記憶體錯誤的型別 1 堆記憶體洩漏 outofmemory j a heap space 此種記憶體洩漏,增加記憶體,只能暫時解決問題,並不能 問題。必須要優化 一定是 的問題 排查堆中的大量物件,就會發現,這些物件都被引用,物件不能及時被 導致超出了堆的設定最大記憶體。2 ...
JVM引數配置
xmsn 指定jvm堆的初始大小,預設為物理記憶體的1 64,最小為1m,可以指定單位k m,如不指定預設為 位元組 xmxn 指定jvm堆的最大值,預設為物理記憶體的1 4或1g,最小為2m,單位與 xms一致。xssn 設定單個執行緒棧的大小,預設為512k xincgc 開啟增量gc 預設為關...