JVM堆内存大小调优的参数有哪些

JVM 提供了一些参数用于控制堆内存大小,这些参数可以在启动 Java 程序时通过命令行参数传递给 JVM。以下是一些常用的参数及其作用:

-Xms:设置 JVM 初始分配的堆内存大小,例如 -Xms1G 表示设置为 1GB。

-Xmx:设置 JVM 最大分配的堆内存大小,例如 -Xmx2G 表示设置为 2GB。

-Xmn:设置年轻代的堆内存大小,例如 -Xmn256M 表示设置年轻代为 256MB。

-XX:SurvivorRatio:设置年轻代中 Eden 区域与 Survivor 区域的比例,例如 -XX:SurvivorRatio=8 表示设置 Eden 区域与 Survivor 区域的比例为 8:1。

-XX:NewRatio:设置新生代与老年代的比例,例如 -XX:NewRatio=3 表示新生代与老年代的比例为 1:3。

-XX:MaxMetaspaceSize:设置元数据区域的最大大小,例如 -XX:MaxMetaspaceSize=256M 表示设置元数据区域的最大大小为 256MB。

举个例子,如果我们想要将初始堆内存大小设置为 1GB,最大堆内存大小设置为 2GB,年轻代设置为 256MB,Eden 区域与 Survivor 区域的比例为 8:1,新生代与老年代的比例为 1:3,元数据区域的最大大小为 256MB,那么可以使用以下命令启动程序:
java -Xms1G -Xmx2G -Xmn256M -XX:SurvivorRatio=8 -XX:NewRatio=3 -XX:MaxMetaspaceSize=256M Main