Cómo configurar correctamente Xmx y Xms en Gradle.
Estoy tratando de solucionar el problema del tamaño de la memoria del montón utilizando -Xmx50M en el archivo build.gradle, pero no funciona, el tamaño de la memoria siempre excede los 50M.
Detalles:
Mi 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"
]
}
Captura de pantalla del problema
Como puedes ver, la aplicación ha asignado 500MB de memoria y está utilizando casi 250MB, a pesar de que especifiqué que el tamaño de memoria del montón sea de 50MB.
davy.ai
Primero, es importante tener en cuenta que configurar el tamaño de la memoria del montón utilizando
-Xmx
en la tarearun
del archivobuild.gradle
solo afectará el entorno de tiempo de ejecución de la aplicación, no al proceso de construcción en sí mismo.Si la aplicación sigue utilizando más memoria de lo esperado, existen algunas posibles razones para esto:
-Xmx
no esté configurada correctamente. Verifique que se esté aplicando en el lugar correcto dentro del archivobuild.gradle
y que el valor se esté leyendo correctamente.Sin información adicional, es difícil diagnosticar definitivamente el problema. Sin embargo, algunas soluciones potenciales podrían ser:
-Xmx
en el comandogradlew run
en lugar de hacerlo en el archivobuild.gradle
, para asegurarse de que se aplique correctamente.