Java虛擬機內存參數設置

堆分配參數總結:

-Xms:表示java虛擬機堆區內存初始內存分配的大小,一般爲操做系統可用內存的1/64大小便可
-Xmx:表示java虛擬機堆區內存可被分配的最大上限,一般爲操做系統可用內存的1/4大小。可是開發過程當中,一般會將 -Xms 與 -Xmx兩個參數的配置相同的值,其目的是爲了可以在java垃圾回收機制清理完堆區後不須要從新分隔計算堆區的大小而浪費資源。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:表示對非堆區分配的內存的最大上限jvm

    棧的容量配置

    -Xss:設置線程棧的大小ide

    本機直接內存設置

    -XX:MaxDirectMemorySize :指定本機直接內存大小,若是不指定就表示和Java堆最大值(-Xmx)相同
    例子:
    -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m操作系統

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

相關文章
相關標籤/搜索