常用JVM参数
-Xmn12800m:设置新生代空间初始值、最小值及最大值为12800m
-Xms16g:设置jvm初始分配堆内存大小
-Xmx16g:设置jvm最大分配堆内存大小
-XX:MetaspaceSize=256m:设置jvm元空间初始值大小
-XX:MaxMetaspaceSize=256m:设置jvm元空间最大值
-XX:SurvivorRatio=3:设置eden空间与单个survivor空间大小的比值。survivor空间大小=-Xmn/(-XX:SurvivorRatio+2)
-XX:TargetSurvivorRatio=60:在minor gc之后,survivor区被占用的最大值(百分比)。
-XX:MaxTenuringThreshold=15:设置新生代对象经过minor gc次依然存活后会进入老年代。
-XX:-UseAdaptiveSizePolicy:设置survivor空间为固定大小,不会动态调整。
-XX:+UseConcMarkSweepGC:开启cms收集器,它会自动开启-XX:+UseParNewGC,新生代使用多线程垃圾收集器,老年代使用cms收集器。
-XX:+UseCMSInitiatingOccupancyOnly:设置只有在老年代占用达到-XX:CMSInitiatingOccupancyFraction设定的值时,才会引发cms的并发垃圾收集周期。
-XX:CMSInitiatingOccupancyFraction=65:老年代占用达到65%时引发cms的第一次垃圾收集周期。
-Xloggc:metabase_gc.log:将垃圾收集的统计信息打印到metabase_gc.log文件中,结合-XX:+PrintGCDetails和-XX:+PrintGCDateStamps将输出捕获到日志文件中。
-XX:+PrintGCDetails:开启新生代、老年代和永久代垃圾收集统计信息的详细报告。
-XX:+PrintGCDateStamps:在每次垃圾收集时打印时间戳。
-XX:+PrintTenuringDistribution:报告与对象晋升相关的统计数据,包括survivor区的占用量以免过早将对象从survivor提升到老年代,hotspot vm计算的晋升阈值、当前最大的晋升阈值以及显示当前survivor中对象年龄的直方图。
-XX:+HeapDumpOnOutOfMemoryError:在oom发生时,生成jam堆的转储文件。
-XX:HeapDumpPath=metabase.hprof:设置堆转储文件的生成目录路径。
-XX:+DisableExplicitGC:禁止因显示调用System.gc()而引起的full gc。
-XX:+UseBiasedLocking:开启偏向锁特性。