我正在尝试在一台资源非常有限的机器上(512M内存)运行我的Spring Boot应用程序,因此我需要配置JVM内存设置(Xmx、MaxPermSize等)来限制消耗并避免OOM崩溃。
我使用Gradle从命令行运行该应用程序:
gradle bootRun
但是我还没有找到一种方法,可以在启动应用程序时从命令行传递类似于-Xmx256m、-XX:MaxPermSize=128M等JVM参数。有任何想法吗?
我正在尝试在一台资源非常有限的机器上(512M内存)运行我的Spring Boot应用程序,因此我需要配置JVM内存设置(Xmx、MaxPermSize等)来限制消耗并避免OOM崩溃。
我使用Gradle从命令行运行该应用程序:
gradle bootRun
但是我还没有找到一种方法,可以在启动应用程序时从命令行传递类似于-Xmx256m、-XX:MaxPermSize=128M等JVM参数。有任何想法吗?
您最好构建一个可执行的JAR文件,然后您可以传递Java命令所需的任何内存设置。 然后,您只需要执行以下操作:
java -jar -Xmx256m -XX:MaxPermSize=128M .... myApp.jar
gradle build
,然后运行java -jar ... ./build/libs/nameOfJar.jar
即可。 - Jose V你可以在Linux/Mac中使用这个命令:
export _JAVA_OPTIONS="-Xms200m -Xmx800m"
其中的200和400的值可以根据您的需求更改。请注意它是_JAVA_OPTIONS。
然后运行您的gradle命令。例如:
gradle bootRun