JVM 参数设置入门案例
JVM 的内存参数众多,但是在实际应用中主要关注堆内存的大小设置及堆内存中新生代和老年代的大小设置,下面看一个简单的 JVM 启动参数设置案例:
java -server
-Xms3g -Xmx3g
-XX:NewSize=1g
-XX:MetaspaceSize=128m
-XX:NewRatio=3
-XX:SurvivorRatio=8
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.log -jar start.jar
-Xms -Xmx:-Xms 表示初始堆大小,-Xmx 表示最大堆大小。一般将 Xms 和 Xmx 设置为相同的值,避免垃圾回收后 JVM 重新分配堆内存大小而引起内存震荡,影响性能。可将堆内存的大小简单理解为 JVM 在运行过程中可用到的总内存大小。
-XX:NewSize:-XX:NewSize=1g 表示设置新生代的大小为 1GB,一般建议设置为总堆内存的 1/3