Java虛擬機內存參數設置


堆分配參數總結:
-Xms:表示java虛擬機堆區內存初始內存分配的大小,通常為操作系統可用內存的1/64大小即可
-Xmx:表示java虛擬機堆區內存可被分配的最大上限,通常為操作系統可用內存的1/4大小。但是開發過程中,通常會將 -Xms 與 -Xmx兩個參數的配置相同的值,其目的是為了能夠在java垃圾回收機制清理完堆區后不需要重新分隔計算堆區的大小而浪費資源。
         一般來講對於堆區的內存分配只需要對上述兩個參數進行合理配置即可。

-XX:MinHeapFreeRatio:設置堆空間的最小空間比例。當堆空間的空閑內存小於這個數值時,jvm便會擴展堆空間。
-XX:MaxHeapFreeRatio:設置堆空間的最大空間比例。當堆空間的空閑內存大於這個數值時,jvm便會縮小堆空間。
XX:NewSize : 設置新生代的大小
XX:NewRatio:設置老年代與新生代的比例,即老年代除以新生代大小
XX:SurviorRatio:新生代中eden區與survivior 區的比例
-XX:PermSize:設置永久區的大小
-XX:TargetSurvivorRatio:設置survivior 的使用率。當達到這個空間使用率時,會將對象送入老年代。

方法區參數配置
-XX:PermSize:表示非堆區初始內存分配大小,其縮寫為permanent size(持久化內存)
-XX:MaxPermSize:表示對非堆區分配的內存的最大上限

棧的容量配置
-Xss:設置線程棧的大小

本機直接內存設置
-XX:MaxDirectMemorySize :指定本機直接內存大小,如果不指定就表示和Java堆最大值(-Xmx)相同

例子:
     -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

上面設置的參數就是堆初始化128M,最大堆內存是512M;方法區初始化分配內存128M,方法區最大上限是512M。

原文:https://blog.csdn.net/weixin_40792878/article/details/82154402


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM