JVM常用參數(shù)
-Xss 棧內(nèi)存大小。
設(shè)置單個(gè)線程棧大小、一般默認(rèn)521-1024Kb。
單個(gè)線程棧大小跟操作系統(tǒng)和JDK版本都有關(guān)系。
-Xss = -XX:ThreadStackSize-Xmx 最大堆內(nèi)存。
默認(rèn)物理內(nèi)存的1/4。
-Xmx = -XX:MaxHeapSize-Xms 初始堆內(nèi)存大小。
默認(rèn)物理內(nèi)存的1/64。
建議 -Xms和-Xmx 的內(nèi)存大小一致, 避免頻繁分配調(diào)整內(nèi)存空間。
-Xms = -XX:InitialHeapSize-XX:MetaspaceSize 元空間內(nèi)存擴(kuò)容觸發(fā)FGC的初始閾值
默認(rèn)是21807104(約20.8m), 表示元空間不斷擴(kuò)容到該值時(shí)就會(huì)觸發(fā)Full GC。
如果該參數(shù)配置的太小,會(huì)頻繁導(dǎo)致FullGC, 甚至OOM。-XX:MaxMetaspaceSize 元空間最大內(nèi)存大小
元空間存儲(chǔ)的時(shí)類的信息, 隨著類加載越來(lái)越多,元空間會(huì)不斷擴(kuò)容, 指導(dǎo)-XX:MetaSpaceSize指定值, 就會(huì)觸發(fā)Full GC。
-XX:MaxMetaspaceSize代表元空間最大內(nèi)存大小, 默認(rèn)是幾乎無(wú)窮大。
建議:這兩個(gè)值設(shè)置一樣大小,具體可以在服務(wù)運(yùn)行一段時(shí)間后查看服務(wù)實(shí)際占用大小。