分享

java高分局之JVM命令参数大全

 jas0n_liu 2018-05-23

这些选项控制Java HotSpot虚拟机怎么进行垃圾回收。 

-XX:+AggressiveHeap 
java堆最佳化设置。设置多个参数使长时间运行过的任务使用密集的内存分配。 默认这个选项时关闭的,也就是堆不是最佳化。 
-XX:+AlwaysPreTouch 
在调用main函数之前,使用所有可用的内存分页。这个选项可以用来测试长时间运行的系统,所有的内存都已被分配。默认这个选项 
是关闭的,也就是不会使用所有的内存分页。 
-XX:+CMSClassUnloadingEnabled 
当使用CMS垃圾收集器时,允许类卸载。这个选项模式是开启的。为了禁止类卸载,那么可以使用: -XX:-CMSClassUnloadingEnabled 
-XX:CMSExpAvgFactor=percent 
指定垃圾收集消耗的时间百分比。默认这个数是25%。下面的例子设置成15%:

-XX:CMSExpAvgFactor=15
  • 1
  • -XX:CMSInitiatingOccupancyFraction=percent 
    设置CMS收集开始的百分比。默认值是-1,任何的负值表示会使用-XX:CMSTriggerRatio选项来定义这个百分比数。 
    下面的例子设置成了20%,表示老年代使用20%后开始垃圾收集;
-XX:CMSInitiatingOccupancyFraction=20
  • 1
  • -XX:+CMSScavengeBeforeRemark 
    在CMS重新标记之前执行清除操作,默认这个选项是关闭的。
  • -XX:CMSTriggerRatio=percent 
    设置由-XX:MinHeapFreeRatio指定值的百分比的值。默认是80%。 
    下面的例子设置成了75%:
-XX:CMSTriggerRatio=75
  • 1
  • -XX:ConcGCThreads=threads 
    并发GC的线程数量。默认值根据cpu的数量而定。下面的例子把这个值设置为2
-XX:ConcGCThreads=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。
-XX:G1HeapRegionSize=16m
  • 1
  • -XX:+G1PrintHeapRegions 
    打印G1收集器收集的区域。默认这个选项是关闭的。
  • -XX:G1ReservePercent=percent 
    使用g1收集器时,设置保留java堆大小,防止晋升失败。范围是0到50.默认设置是10%。下面的例子把这个值设置成20%。
-XX:G1ReservePercent=20
  • 1
  • -XX:InitialHeapSize=size 
    初始化堆大小。
  • -XX:InitialSurvivorRatio=ratio 
    设置幸存区的比例。
  • -XX:InitiatingHeapOccupancyPercent=percent 
    设置进行垃圾回收的堆占用的百分比。
  • -XX:MaxGCPauseMillis=time 
    设置GC最大暂停时间。默认没有最大暂停时间。下面的例子设置最大暂停时间为500毫秒。
-XX:MaxGCPauseMillis=500
  • 1
  • -XX:MaxHeapSize=size 
    最大堆大小。
  • -XX:MaxHeapFreeRatio=percent 
    设置堆垃圾回收后最大空闲空间比例。默认是70%。下面的例子把这个值设置成75.
-XX:MaxHeapFreeRatio=75
  • 1
  • -XX:MaxMetaspaceSize=size 
    设置最大的本地内存类员工间可用于垃圾回收。默认没有限制。下面的例子把这个值设置成256m
-XX:MaxMetaspaceSize=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 
    年轻代中使用本地线程收集块。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多