通过gradlew使用-Xmx和-Xms运行应用程序
我有一个应用程序。我通过通过gradlew使用-Xmx和-Xms运行应用程序
gradlew run-app
或调试
gradlew debug-app
它可以运行它。如何将'-Xmx'参数传递到我运行(调试)的应用程序中? 是否可以这样做而不用编辑build.gradle
文件?
我发现这个 Gradle unknown command-line option '-X'
我收到了类似的错误,当我尝试
gradlew debug-app -Xmx2000m
错误
FAILURE: Build failed with an exception.
* What went wrong:
Problem configuring task :debug-app from command line.
> Unknown command-line option '-X'.
我试图GRADLE_USER_HOME
目录下创建一个文件gradle.properties
(默认情况下,它是USER_HOME/.g radle)。
org.gradle.jvmargs=-XX\:MaxHeapSize\=4256m -Xmx4256m -Xms2000m
我也试图org.gradle.jvmargs=-Xmx2000m
项目文件夹gradle.properties
英寸
即使这样,当我运行一个应用程序,我看到COMMITED内存大小为< 520 MIB
这是当我运行它作为一个正常的Java应用程序
在第二种情况下,当我使用-Xms,-Xmx作为普通Java应用运行应用程序时,Commited Memory大小约为3.5 GiB,因为我通过了-Xmx4512m -Xms2512m
参数。
在gradle.properties
文件补充一点:
org.gradle.jvmargs=-Xmx2000m
从here
org.gradle.jvmargs
指定用于守护进程的jvmargs。设置为 对调整内存设置特别有用。目前, 默认设置在内存方面非常慷慨。
编辑:我的回答怎么样的gradle守护进程jvm,而不是应用程序jvm。您必须使用jvmArgs property
用于为进程启动JVM的额外参数。 不包括系统属性和最小/最大堆大小。
是什么'org.gradle.jvmargs = -Xms1024m -Xmx1024m -Xss1M -XX:+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8'在'gradle.properties'意思 –
它为守护进程设置特定的jvmargs – ToYonos
首先,感谢@ToYonos为我带来了正确的方向。
其次,我在这里找到了解决方案https://stackoverflow.com/a/9648945/4587961。 我从命令行运行我的应用程序。
set GRADLE_OPTS=-Xms1724m -Xmx5048m
gradlew debug-app
注意,CMD Windows命令SET本地工作,因此,如果您关闭终端,GRADLE_OPTS
不会设置。对于Linux,您可以使用
export GRADLE_OPTS=WHATEVER
这就是我想要实现的。
我编辑我的答案 – ToYonos