常用參數(shù) 以jdk8為例
-Xms(等價于-XX:InitialHeapSize)
設(shè)置堆的初始大兴鸷稀(以字節(jié)為單位)。此值必須是1024的倍數(shù)且大于1 MB。追加字母k或K表示千字節(jié)节预,m或M表示兆字節(jié)需五,g或G表示千兆字節(jié)蚀狰。
以下示例顯示如何使用各種單位將分配的內(nèi)存大小設(shè)置為6 MB:
-Xms6291456
-Xms6144k
-Xms6m
如果未設(shè)置此選項,則初始大小將設(shè)置為為老一代和年輕一代分配的大小之和业簿”谌矗可以使用-Xmn選項或-XX:NewSize選項設(shè)置年輕代的堆的初始大小批狱。
-Xmx(等價于-XX:MaxHeapSize)
指定內(nèi)存分配池的最大大小(以字節(jié)為單位)展东。此值必須是1024的倍數(shù)且大于2 MB赔硫。追加字母k或K表示千字節(jié),m或M表示兆字節(jié)盐肃,g或G表示千兆字節(jié)爪膊。
默認(rèn)值是在運(yùn)行時根據(jù)系統(tǒng)配置選擇的权悟。對于服務(wù)器部署,-Xms并-Xmx經(jīng)常設(shè)置為相同的值推盛。
請參閱位于的Java SE HotSpot虛擬機(jī)垃圾收集優(yōu)化指南中的“Ergonomics”部分
http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/ergonomics.html#sthref15
下面的示例演示如何使用各種單位將分配的最大內(nèi)存大小設(shè)置為80 MB:
-Xmx83886080
-Xmx81920k
-Xmx80m
該-Xmx選項等效于-XX:MaxHeapSize峦阁。
-Xss(等價于-XX:ThreadStackSize)
設(shè)置線程堆棧大小(以字節(jié)為單位)耘成。附加字母k或K表示KB榔昔,m或M表示MB,g或G表示GB瘪菌。
下面的示例將線程堆棧大小以不同的單位設(shè)置為1024 KB:
-Xss1m
-Xss1024k
-Xss1048576
此選項等效于-XX:ThreadStackSize撒会。
注意:這個值默認(rèn)值取決于平臺
Linux / x64(64位):1024 KB
macOS(64位):1024 KB
Oracle Solaris / x64(64位):1024 KB
Windows:默認(rèn)值取決于虛擬內(nèi)存
-Xmn
設(shè)置年輕一代的堆的初始大小和最大大小(以字節(jié)為單位)师妙。追加字母k或K表示千字節(jié)诵肛,m或M表示兆字節(jié),g或G表示千兆字節(jié)默穴。
堆的年輕代區(qū)域用于新對象怔檩。與其他區(qū)域相比,在該區(qū)域執(zhí)行GC的頻率更高蓄诽。如果年輕一代的大小太小薛训,則會執(zhí)行許多次要的垃圾回收。
如果大小太大若专,那么將僅執(zhí)行完整的垃圾收集许蓖,這可能需要很長時間才能完成蝴猪。Oracle建議您將年輕代的大小保持在整個堆大小的一半到四分之一之間调衰。
以下示例顯示如何使用各種單位將年輕一代的初始大小和最大大小設(shè)置為256 MB:
-Xmn256m
-Xmn262144k
-Xmn268435456
取而代之的是的-Xmn選項組中的兩個堆年輕一代的初始和最大大小,您可以使用-XX:NewSize設(shè)置初始大小和-XX:MaxNewSize設(shè)置的最大尺寸自阱。
-XX:MetaspaceSize
設(shè)置可以分配給類元數(shù)據(jù)的最大本機(jī)內(nèi)存嚎莉。默認(rèn)情況下,大小不受限制沛豌。應(yīng)用程序的元數(shù)據(jù)量取決于應(yīng)用程序本身趋箩,
其他正在運(yùn)行的應(yīng)用程序以及系統(tǒng)上可用的內(nèi)存量。
下面的示例顯示如何將最大類元數(shù)據(jù)大小設(shè)置為256 MB:
-XX:MaxMetaspaceSize = 256m
注意:java8開始此項設(shè)置替換了之前版本的永久代(http://openjdk.java.net/jeps/122)
-XX:+PrintGCDetails
啟用在每個GC上打印詳細(xì)消息的功能加派。默認(rèn)情況下叫确,此選項是禁用的。
使用jinfo查看:
[root@localhost ~]# jinfo -flag PrintGCDetails 560
-XX:-PrintGCDetails
-XX:SurvivorRatio
設(shè)置年輕代中Eden區(qū)與Survivor區(qū)的大小比值.設(shè)置為4,則兩個Survivor區(qū)與一個Eden區(qū)的比值為2:4,
一個Survivor區(qū)占整個年輕代的1/6
-XX:SurvivorRatio = 4
-XX:NewRatio
設(shè)置新老一代大小之間的比率芍锦。默認(rèn)情況下竹勉,此選項設(shè)置為2。以下示例顯示如何將年輕/老人比率設(shè)置為1:
-XX:NewRatio = 1
-XX:MaxTenuringThreshold
設(shè)置用于自適應(yīng)GC大小調(diào)整的最大使用期限閾值娄琉。最大值為15次乓。并行(吞吐量)收集器的默認(rèn)值為15吓歇,而CMS收集器的默認(rèn)值為6。
以下示例顯示如何將最大期限閾值設(shè)置為10:
-XX:MaxTenuringThreshold = 10
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者