JVM--参数示意

2019-08-28  本文已影响0人  DiDu小梁
-XX:CICompilerCount=3 //编译线程数,高峰重启解释执行慢,load可能长时间很高
-XX:+CMSClassUnloadingEnabled //年老代启用CMS,但默认是不会回收永久代(Perm)的。此处对Perm区启用类回收,防止Perm区内存满。(需要与+CMSPermGenSweepingEnabled同时启用)
-XX:CMSFullGCsBeforeCompaction=0  //由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理.
-XX:CMSInitiatingOccupancyFraction=80  //使用cms作为垃圾回收,使用80%后开始CMS收集
-XX:+CMSParallelRemarkEnabled       //降低标记停顿
-XX:ConcGCThreads=8 //设置并行标记的线程数。将 n 设置为并行垃圾回收线程数 (ParallelGCThreads) 的 1/4 左右
-XX:+DisableExplicitGC      //关闭System.gc()
-XX:+ExplicitGCInvokesConcurrent //打开此参数后,在做System.gc()时会做background模式CMS GC,即并行FULL GC,可提高FULL GC效率
-XX:ErrorFile=/opt/vmerr.log 
-XX:HeapDumpPath=/opt/heaperr.log 
-XX:InitialHeapSize=4294967296 //-Xms
-XX:MaxHeapSize=4294967296 //-Xmx
-XX:MaxNewSize=1073741824   //年轻代最大值
-XX:MaxTenuringThreshold=6  //垃圾最大年龄,如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代. 该参数只有在串行GC时才有效.
-XX:MetaspaceSize=268435456 //触发FGC的阈值就是配置的值
-XX:MinHeapDeltaBytes=196608 //每次扩展堆的时候最小增长
-XX:NewRatio=3  //年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代) 表示年轻代与年老代所占比值为1:3,年轻代占整个堆栈的1/4.Xms=Xmx并且设置了Xmn的情况下,该参数不需要进行设置。
-XX:NewSize=1073741824 //设置年轻代大小
-XX:OldPLABSize=16 
-XX:OldSize=3221225472 
-XX:+PrintGC    //输出GC日志
-XX:+PrintGCDateStamps //输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintGCDetails //输出GC的详细日志
-XX:+PrintGCTimeStamps //输出GC的时间戳(以基准时间的形式)
-XX:+PrintHeapAtGC  //在进行GC的前后打印出堆的信息
-XX:+PrintTenuringDistribution //查看每次minor GC后新的存活周期的阈值
-XX:+UseCMSCompactAtFullCollection //在FULLGC,对年老代的压缩,CMS不会移动内存,非常容易产生碎片,导致内存不够用,内存的压缩这个时候就会被启用。增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片
-XX:+UseCompressedClassPointers //指针压缩
-XX:+UseCompressedOops //选项将启用 64 位 JVM 中的压缩引用
-XX:+UseConcMarkSweepGC //使用CMS内存收集     测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明.所以,此时年轻代大小最好用-Xmn设置
-XX:+UseParNewGC //设置年轻代为并行收集,可与CMS收集同时使用.JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值
上一篇 下一篇

猜你喜欢

热点阅读