JAVA8:如何在命令中传递-xms和-xmx JVM值

JAVA 8: how to pass -xms and -xmx JVM values in the command

我正在 运行在 Java 8 环境

上安装一个 springboot 应用程序

我用于 运行 我的应用程序的命令是这样的:

spring-boot:run -Plocalmysql -Dmaven.test.skip=true -Dspring.profiles.active=localmysql

我的目的是将 JVM 值规范添加到我的命令中;所以我被建议使用这个选项语法: "-Drun.jvmArguments=Xms512m -Xmx512m"

但是在 运行ning 时它向我抛出这个警告:

> Java HotSpot(TM) 64-Bit Server VM warning: ignoring option
> PermSize=512m; support was removed in 8.0

是否有任何解决方法或解决方案来继续在命令中传递它?

这只是关于另一个 JVM 参数 -XX:PermSize 的警告消息,自 Java 8 以来不再支持该参数,因为永久生成是 replaced with Metaspace

如果您在为内存大小设置 JVM 选项时遇到问题,对于 Spring Boot 2,您应该使用 spring-boot.run.jvmArguments 参数:

mvn spring-boot:run -Plocalmysql -Dmaven.test.skip=true -Dspring.profiles.active=localmysql -Dspring-boot.run.jvmArguments="-Xms512m -Xmx1024m"

或者你可以在pom.xml的Maven插件配置部分设置这些参数:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <jvmArguments>
            -Xms512m
            -Xmx1024m
        </jvmArguments>
    </configuration>
</plugin>