JVM命令参数大全
這些選項控制Java HotSpot虛擬機(jī)怎么進(jìn)行垃圾回收。?
-?-XX:+AggressiveHeap?
java堆最佳化設(shè)置。設(shè)置多個參數(shù)使長時間運(yùn)行過的任務(wù)使用密集的內(nèi)存分配。 默認(rèn)這個選項時關(guān)閉的,也就是堆不是最佳化。?
-?-XX:+AlwaysPreTouch?
在調(diào)用main函數(shù)之前,使用所有可用的內(nèi)存分頁。這個選項可以用來測試長時間運(yùn)行的系統(tǒng),所有的內(nèi)存都已被分配。默認(rèn)這個選項?
是關(guān)閉的,也就是不會使用所有的內(nèi)存分頁。?
-?-XX:+CMSClassUnloadingEnabled?
當(dāng)使用CMS垃圾收集器時,允許類卸載。這個選項模式是開啟的。為了禁止類卸載,那么可以使用: -XX:-CMSClassUnloadingEnabled?
-?-XX:CMSExpAvgFactor=percent?
指定垃圾收集消耗的時間百分比。默認(rèn)這個數(shù)是25%。下面的例子設(shè)置成15%:
- 1
- -XX:CMSInitiatingOccupancyFraction=percent?
設(shè)置CMS收集開始的百分比。默認(rèn)值是-1,任何的負(fù)值表示會使用-XX:CMSTriggerRatio選項來定義這個百分比數(shù)。?
下面的例子設(shè)置成了20%,表示老年代使用20%后開始垃圾收集;
- 1
- -XX:+CMSScavengeBeforeRemark?
在CMS重新標(biāo)記之前執(zhí)行清除操作,默認(rèn)這個選項是關(guān)閉的。 - -XX:CMSTriggerRatio=percent?
設(shè)置由-XX:MinHeapFreeRatio指定值的百分比的值。默認(rèn)是80%。?
下面的例子設(shè)置成了75%:
- 1
- -XX:ConcGCThreads=threads?
并發(fā)GC的線程數(shù)量。默認(rèn)值根據(jù)cpu的數(shù)量而定。下面的例子把這個值設(shè)置為2
- 1
- -XX:+DisableExplicitGC?
這個選項控制顯式GC,也就是調(diào)用System.gc(),默認(rèn)在調(diào)用這個方法的時候就會發(fā)生gc,如果不允許顯式gc,那么調(diào)用這個方法的時候,就不會發(fā)生gc行為。 - -XX:+ExplicitGCInvokesConcurrent?
當(dāng)調(diào)用System.gc()的時候, 執(zhí)行并行g(shù)c。默認(rèn)是不開啟的,只有使用-XX:+UseConcMarkSweepGC選項的時候才能開啟這個選項。 - -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses?
當(dāng)調(diào)用System.gc()的時候, 執(zhí)行并行g(shù)c。并在垃圾回收的周期內(nèi)卸載類。 只有使用-XX:+UseConcMarkSweepGC選項的時候才能開啟這個選項。 - -XX:G1HeapRegionSize=size?
當(dāng)使用G1收集器時,設(shè)置java堆被分割的大小。這個大小范圍在1M到32M之間。下面的例子把這個值設(shè)置成了16M。
- 1
- -XX:+G1PrintHeapRegions?
打印G1收集器收集的區(qū)域。默認(rèn)這個選項是關(guān)閉的。 - -XX:G1ReservePercent=percent?
使用g1收集器時,設(shè)置保留java堆大小,防止晉升失敗。范圍是0到50.默認(rèn)設(shè)置是10%。下面的例子把這個值設(shè)置成20%。
- 1
- -XX:InitialHeapSize=size?
初始化堆大小。 - -XX:InitialSurvivorRatio=ratio?
設(shè)置幸存區(qū)的比例。 - -XX:InitiatingHeapOccupancyPercent=percent?
設(shè)置進(jìn)行垃圾回收的堆占用的百分比。 - -XX:MaxGCPauseMillis=time?
設(shè)置GC最大暫停時間。默認(rèn)沒有最大暫停時間。下面的例子設(shè)置最大暫停時間為500毫秒。
- 1
- -XX:MaxHeapSize=size?
最大堆大小。 - -XX:MaxHeapFreeRatio=percent?
設(shè)置堆垃圾回收后最大空閑空間比例。默認(rèn)是70%。下面的例子把這個值設(shè)置成75.
- 1
- -XX:MaxMetaspaceSize=size?
設(shè)置最大的本地內(nèi)存類員工間可用于垃圾回收。默認(rèn)沒有限制。下面的例子把這個值設(shè)置成256m
- 1
- -XX:MaxNewSize=size?
新生代最大大小。 - -XX:MaxTenuringThreshold=threshold?
在新生代中對象存活次數(shù)(經(jīng)過Minor GC的次數(shù))后仍然存活,就會晉升到舊生代。 - -XX:MetaspaceSize=size?
設(shè)置類元空間大小。 - -XX:MinHeapFreeRatio=percent?
堆最小空間百分比。 - XX:NewRatio=ratio?
設(shè)置新生代和老年代的比例。 - -XX:NewSize=size?
設(shè)置年輕代的大小 - -XX:ParallelGCThreads=threads?
并行收集線程數(shù)量。 - -XX:+ParallelRefProcEnabled?
如果應(yīng)用有很多的Reference or finalizable objects,那么可以使用-XX:+ParallelRefProcEnabled來減少duration。 - -XX:+PrintAdaptiveSizePolicy?
打印自適應(yīng)收集的大小。默認(rèn)關(guān)閉。 - -XX:+PrintGC?
打印GC信息。 - -XX:+PrintGCApplicationConcurrentTime?
打印自從上次gc停頓到現(xiàn)在過去了多少時間。 - -XX:+PrintGCApplicationStoppedTime?
打印gc一共停頓了多長時間。 - -XX:+PrintGCDateStamps?
打印gc時間戳 - -XX:+PrintGCDetails?
打印gc詳細(xì)信息 - -XX:+PrintGCTaskTimeStamps?
為每個獨(dú)立的gc線程打印時間戳。 - -XX:+PrintGCTimeStamps?
打印gc時間戳 - -XX:+PrintStringDeduplicationStatistics?
打印字符串去重統(tǒng)計信息。 - -XX:+PrintTenuringDistribution?
打印對各代信息。 - -XX:+ScavengeBeforeFullGC?
在進(jìn)行fullGC時先進(jìn)行YGC。 - -XX:StringDeduplicationAgeThreshold=threshold?
字符串存活的最小年齡 ,默認(rèn)是3. - -XX:SurvivorRatio=ratio?
幸存代的比例。 - -XX:TargetSurvivorRatio=percent?
年輕代收集后,幸存代期望的比例值。 - -XX:TLABSize=size?
設(shè)置本地線程收集緩沖區(qū)的初始化大小。 - -XX:+UseAdaptiveSizePolicy?
使用自適應(yīng)分代大小。 - -XX:+UseConcMarkSweepGC?
使用cms垃圾回收器。 - -XX:+UseG1GC?
使用G1垃圾回收器 - -XX:+UseGCOverheadLimit?
限制GC的運(yùn)行時間 - -XX:+UseParallelGC?
使用 Parallel收集器。 - -XX:+UseParallelOldGC?
使用 ParallelOld垃圾回收器。 - -XX:+UseParNewGC?
使用ParNew垃圾回收器 - -XX:+UseSerialGC?
使用 Serial垃圾回收器。 - -XX:+UseStringDeduplication?
使用字符串去重機(jī)制。 - -XX:+UseTLAB?
年輕代中使用本地線程收集塊。
總結(jié)
- 上一篇: 数据挖掘: 频繁项集挖掘(购物篮问题)
- 下一篇: 说说MaxTenuringThresho