天天看點

JVM記憶體參數詳解以及配置調優(二)-Heap參數

JVM記憶體參數詳解以及配置調優(二)-JVM堆參數配置

JVM參數配置

1: heap size

a: -Xmx<n>

指定 jvm 的最大 heap 大小 , 如 :-Xmx=2g

b: -Xms<n>

指定 jvm 的最小 heap 大小 , 如 :-Xms=2g , 高并發應用, 建議和-Xmx一樣, 防止因為記憶體收縮/突然增大帶來的性能影響。

c: -Xmn<n>

指定 jvm 中 New Generation 的大小 , 如 :-Xmn256m。 這個參數很影響性能, 如果你的程式需要比較多的臨時記憶體,建議設定到512M, 如果用的少, 盡量降低這個數值, 一般來說128/256足以使用了。

d: -XX:PermSize=<n>

指定 jvm 中 Perm Generation 的最小值 , 如 :-XX:PermSize=32m。 這個參數需要看你的實際情況,。可以通過jmap 指令看看到底需要多少。

e: -XX:MaxPermSize=<n>

指定 Perm Generation 的最大值 , 如 :-XX:MaxPermSize=64m

f: -Xss<n>

指定線程桟大小 , 如 :-Xss128k, 一般來說,webx架構下的應用需要256K。 如果你的程式有大規模的遞歸行為,請考慮設定到512K/1M。 這個需要全面的測試才能知道。 不過,256K已經很大了。 這個參數對性能的影響比較大的。

g: -XX:NewRatio=<n>

指定 jvm 中 Old Generation heap size 與 New Generation 的比例 , 在使用 CMS GC 的情況下此參數失效 , 如 :-XX:NewRatio=2

h: -XX:SurvivorRatio=<n>

指 定 New Generation 中 Eden Space 與一個 Survivor Space 的 heap size 比例 ,-XX:SurvivorRatio=8, 那麼在總共 New Generation 為 10m 的情況下 ,Eden Space 為 8m

i: -XX:MinHeapFreeRatio=<n>

指定 jvm heap 在使用率小于 n 的情況下 ,heap 進行收縮 ,Xmx==Xms 的情況下無效 , 如 :-XX:MinHeapFreeRatio=30

j: -XX:MaxHeapFreeRatio=<n>

指定 jvm heap 在使用率大于 n 的情況下 ,heap 進行擴張 ,Xmx==Xms 的情況下無效 , 如 :-XX:MaxHeapFreeRatio=70

k: -XX:LargePageSizeInBytes=<n>

指定 Java heap 的分頁頁面大小 , 如 :-XX:LargePageSizeInBytes=128m