jvm參數記錄(持續更新)

java -XX:+PrintFlagsInitial命令查看jvm本機的初始化參數

-Xms:堆最小內存分配
-Xmx:堆最大內存分配
將堆的最小值-Xms參數與最大值-Xmx參數設置爲一樣即可避免堆自動擴展

-XX:+HeapDumpOnOutOf-MemoryError:可以讓虛擬機在出現內存溢出異常的時候Dump出當前的內存堆轉儲快照以便進行事後分析

-Xoss:設置本地方法棧大小,由於Hotspot虛擬機不區分本地方法棧和虛擬機棧,所以此參數無效
-Xss:設置虛擬機棧大小

元空間相關

  • -XX:MaxMetaspaceSize:設置元空間最大值,默認是-1,即不限制,或者說只受限於本地內存大小。

  • -XX:MetaspaceSize:指定元空間的初始空間大小,以字節爲單位,達到該值就會觸發垃圾收集
    進行類型卸載,同時收集器會對該值進行調整:如果釋放了大量的空間,就適當降低該值;如果釋放了很少的空間,那麼在不超過-XX:MaxMetaspaceSize(如果設置了的話)的情況下,適當提高該值。

  • -XX:MinMetaspaceFreeRatio:當進行過Metaspace GC之後,會計算當前Metaspace的空閒空間比,如果空閒比小於這個參數,那麼虛擬機將增長Metaspace的大小。在本機該參數的默認值爲40,也就是40%。設置該參數可以控制Metaspace的增長的速度,太小的值會導致Metaspace增長的緩慢,Metaspace的使用逐漸趨於飽和,可能會影響之後類的加載。而太大的值會導致Metaspace增長的過快,浪費內存。

  • -XX:Max-MetaspaceFreeRatio:當進行過Metaspace GC之後, 會計算當前Metaspace的空閒空間比,如果空閒比大於這個參數,那麼虛擬機會釋放Metaspace的部分空間。在本機該參數的默認值爲70,也就是70%。

  • -XX:MaxMetaspaceExpansion :Metaspace增長時的最大幅度。在本機上該參數的默認值爲5452592B(大約爲5MB)。

  • -XX:MinMetaspaceExpansion: Metaspace增長時的最小幅度。在本機上該參數的默認值爲340784B(大約330KB爲)。

-XX:MaxDirectMemorySize:指定直接內存大小,如果不去指定,則默認與Java堆最大值(由-Xmx指定)一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章