jvm 如何在Gradle中正确设置Xmx和Xms

7kqas0il  于 2022-11-07  发布在  其他
关注(0)|答案(2)|浏览(354)

我尝试在build.gradle文件中使用-Xmx 50 M来修复堆大小内存,但它不起作用,内存大小总是超过50 M。

详细数据:

"我的身材,优雅"

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"
    ]
}

问题的屏幕截图

正如您所看到的,应用程序已经在内存中找到了500 MB,并且使用了几乎250 MB,即使我将堆内存大小指定为50 MB。

jw5wzhpr

jw5wzhpr1#

我不是100%确定,但是我认为你应该使用gradle.properties来设置-Xmx50M。你可以查看官方文档来确定。gradle.properties应该是这样的

org.gradle.jvmargs=-Xmx512m "-XX:MaxMetaspaceSize=256m"

这是默认设置,您可以根据需要进行更改。

xpcnnkqh

xpcnnkqh2#

由于某种原因,使用短VM参数Xms50mXmx50m无法在gradle中使用,但完整表达式-XX:MaxHeapSize=50m-XX:InitialHeapSize=50可以使用,如果您也遇到相同的问题,只需将这些短表达式替换为完整表达式即可。

相关问题