JVM參數(shù)
主要分為6類(lèi)

6大類(lèi)參數(shù)
| 參數(shù) | 描述 |
|---|---|
-Xmx5m |
堆內(nèi)存最大5m |
-Xms5m |
堆內(nèi)存初始化為5m |
-Xmn10m |
設(shè)置年輕代最大為10m |
-Xss256k |
線程堆棧大小256k,等同于-XX:ThreadStackSize=256k,這個(gè)參數(shù)會(huì)影響到虛擬機(jī)棧的,即方法棧的深度.設(shè)置太小可能會(huì)導(dǎo)致程序運(yùn)行時(shí)StackOverFlowError
|
-XX:SurvivorRatio=8 |
表示eden與survivor區(qū)的比例是8:1:1.因?yàn)閟urvivor分為兩個(gè),且等份. |
-XX:PretenureSizeThreshold=4194304 |
設(shè)置對(duì)象超過(guò)此大小后直接在老年代創(chuàng)建的閾值.4194304=4m,即對(duì)象超過(guò)4m,會(huì)直接在老年代中創(chuàng)建.這個(gè)參數(shù)有一個(gè)前提,由于JDK9之前的Server模式下,默認(rèn)使用的GC收集器是ParallelGC,會(huì)導(dǎo)致這個(gè)設(shè)置失效,需要配合參數(shù)-XX:UseConcMarkSweepGC或者-XX:UseSerialGC使用.
|
-XX:MaxTenuringThreshold=5 |
設(shè)置晉升到老年代的對(duì)象存活年齡,即在survivor復(fù)制移動(dòng)了5次之后,就會(huì)晉升到老年代.ParallelGC默認(rèn)是15,CMS默認(rèn)是6.最大值為15 |
-XX:+UseSerialGC |
使用串行GC收集器,基本不用 |
-XX:UseParallelGC |
使用并行收集器,其中年帶帶使用Parallel Scavenge收集器,老年代使用Parallel Old
|
-XX:UseConcMarkSweepGC |
使用并發(fā)標(biāo)記清理收集器,其中年輕代使用ParNew Collector,老年代使用CMS(Concurrent Mark Sweep) Collector,如果CMS出錯(cuò)或失敗,則會(huì)使用Serial Old.在JDK9中被廢棄
|