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