Gradle 如何正确设置 Xmx 和 Xms
How to set Xmx and Xms properly in Gradle
我正在尝试使用 build.gradle 文件中的 -Xmx50M 修复堆大小内存,它不起作用,内存大小总是超过 50M。
详情:
我的build.gradle
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.10'
}
group 'com.karrty'
repositories {
mavenCentral()
}
ext {
junitVersion = '5.7.1'
}
sourceCompatibility = '17'
targetCompatibility = '17'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
application {
mainModule = 'com.karrty.karrtyversion1'
mainClass = 'com.karrty.karrtyversion1.Principle.main'
}
javafx {
version = '16'
modules = ['javafx.controls', 'javafx.fxml']
}
dependencies {
implementation('org.controlsfx:controlsfx:11.1.0')
}
run {
jvmArgs = [
"-Xms50m",
"-Xmx50m"
]
}
问题的屏幕截图
如您所见,应用程序在内存中找到了 500MB 并使用了将近 250MB,即使我将堆内存大小指定为 50MB。
不是 100% 确定,但我认为您应该使用 gradle.properties 来设置 -Xmx50M
。
您可以检查 the official docs 以确保 .
gradle.properties 应该是这样的
org.gradle.jvmargs=-Xmx512m "-XX:MaxMetaspaceSize=256m"
这是默认设置,您可以根据需要进行更改。
由于某些原因,使用短 VM 参数 Xms50m
和 Xmx50m
不适用于 gradle,但完整表达式 -XX:MaxHeapSize=50m
和 -XX:InitialHeapSize=50
是工作,如果你也有同样的问题,只需用完整的表达式替换那些短表达式就可以了。
我正在尝试使用 build.gradle 文件中的 -Xmx50M 修复堆大小内存,它不起作用,内存大小总是超过 50M。
详情:
我的build.gradle
plugins {
id 'java'
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.10'
}
group 'com.karrty'
repositories {
mavenCentral()
}
ext {
junitVersion = '5.7.1'
}
sourceCompatibility = '17'
targetCompatibility = '17'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
application {
mainModule = 'com.karrty.karrtyversion1'
mainClass = 'com.karrty.karrtyversion1.Principle.main'
}
javafx {
version = '16'
modules = ['javafx.controls', 'javafx.fxml']
}
dependencies {
implementation('org.controlsfx:controlsfx:11.1.0')
}
run {
jvmArgs = [
"-Xms50m",
"-Xmx50m"
]
}
问题的屏幕截图
如您所见,应用程序在内存中找到了 500MB 并使用了将近 250MB,即使我将堆内存大小指定为 50MB。
不是 100% 确定,但我认为您应该使用 gradle.properties 来设置 -Xmx50M
。
您可以检查 the official docs 以确保 .
gradle.properties 应该是这样的
org.gradle.jvmargs=-Xmx512m "-XX:MaxMetaspaceSize=256m"
这是默认设置,您可以根据需要进行更改。
由于某些原因,使用短 VM 参数 Xms50m
和 Xmx50m
不适用于 gradle,但完整表达式 -XX:MaxHeapSize=50m
和 -XX:InitialHeapSize=50
是工作,如果你也有同样的问题,只需用完整的表达式替换那些短表达式就可以了。