本文是对Java8 JVM参数解读的总结
1、堆设置
##设置初始年轻代堆大小
-Xmn512m
##设置初始的年轻代的大小,该参数等价于-Xmn。
-XX:NewSize=512m
设置最大的年轻代的堆大小。默认自动检测。
-XX:MaxNewSize=512m
##设置初始的堆大小
-Xms2048m
##设置最大的内存分配大小。一般的服务端部署,-Xms和-Xmx设置为同样大小。与-XX:MaxHeapSize具有同样的作用
-Xmx2048m
##设置最大堆大小,这个值需要大于2MB,且是1024的整数倍。等价于-Xmx
-XX:MaxHeapSize=2048m
##eden区和survivor区的比例。默认是8。
-XX:SurvivorRatio=8
##设置年轻代和年老代的比例,默认是2。
-XX:NewRatio=3
##设置最大元空间大小
-XX:MaxMetaspaceSize=128m
##设置元空间大小
-XX:MetaspaceSize=128m
2、收集器设置
##设置让CMS也支持老年代的回收。默认是不开启的,如果开启,那么-XX:+UseParNewGC也会自动被设置。Java 8 不支持-XX:+UseConcMarkSweepGC -XX:-UseParNewGC这种组合。
-XX:+UseConcMarkSweepGC
##支持在年轻代用多线程进行垃圾收集。默认不开启,使用-XX:+UseConcMarkSweepGC时会自动被开启。
-XX:+UseParNewGC
##设置使用G1作为GC收集器。G1比较推荐在大堆应用场景下使用(大于6GB)。
-XX:+UseG1GC
##支持并行的垃圾收集器,即throughput垃圾收集。这可以在多核处理器下提升垃圾收