Saltar al contenido

Expiring Daemon porque el espacio de almacenamiento dinámico de JVM está agotado

Luego de mirar en diversos repositorios y páginas webs al terminar descubrimos la solución que te compartiremos aquí.

Solución:

Pude resolver esto para mi reaccionar nativo proyecto configurando lo siguiente:

// gradle.properties
org.gradle.daemon=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

y

// app/build.gradle
android 
    dexOptions 
       javaMaxHeapSize "3g"
    

Esto se puede solucionar aumentando el configurado tamaño máximo de almacenamiento dinámico Para el proyecto.

A través de IDE:

Agregue las siguientes líneas al archivo gradle.properties. El tamaño de memoria inferior se puede configurar en función de la disponibilidad de RAM

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2560m

A través de la interfaz gráfica de usuario:

En la Configuración, busque ‘Configuración de memoria’ y aumentar el Tamaño de almacenamiento dinámico máximo de IDE y Tamaño máximo del almacenamiento dinámico del daemon según la disponibilidad de RAM del sistema.

Configuración de memoria en Android Studio

La solución es aumentar la memoria de compilación de Android.

A medida que agrega más módulos a su aplicación, existe una demanda increíble en el sistema de compilación de Android y la configuración de memoria predeterminada no funcionará. Para evitar OutOfMemoryErrors durante las compilaciones de Android, debe descomentar la configuración de memoria gradle alternativa presente en /android/gradle.properties:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

Puedes encontrar gradle.properties dentro androide carpeta.

PD

¿Qué estamos haciendo esto y por qué ayuda?

Permítanme aclarar algo de terminología básica para comprender todo el asunto.

Demonio : – Un daemon es un programa informático que se ejecuta como un proceso en segundo plano, en lugar de estar bajo el control directo de un usuario interactivo.

Estudio Android 2.1 habilita una nueva característica: Dex en procesoque puede aumentar drásticamente la velocidad de compilaciones completamente limpias y mejorar el rendimiento de Instant Run.

Aprovechar Dex en procesodeberá modificar su archivo gradle.properties y aumentar la cantidad de memoria asignada al Máquina virtual Gradle Daemon por 1 Gb, hasta un mínimo de 2 Gb, usando la propiedad org.gradle.jvmargs:

Especifica los argumentos de JVM utilizados para el proceso del daemon. La configuración es particularmente útil para ajustar la configuración de la memoria.

org.gradle.jvmargs=-Xmx2048m

Valor por defecto:

-Xmx10248m -XX:MaxPermSize=256m

El valor por defecto Máquina virtual Gradle Daemon la asignación de memoria es de 1 gigabyte, que es insuficiente para admitir dexInProcess, por lo que para aprovecharla deberá configurarla en al menos 2 gigabytes.

Dex en proceso funciona al permitir que se ejecuten múltiples procesos DEX dentro de una sola VM que también se comparte con Gradle, por lo que debe asignar la memoria adicional antes de que se pueda habilitar; esa memoria se compartirá entre Gradle y múltiples procesos DEX.

Si ha aumentado javaMaxHeapSize en su archivo build.gradle de nivel de módulo más allá del valor predeterminado de 1 gigabyte, deberá aumentar la memoria asignada al Gradle Daemon correspondientemente.

Cuando hay suficiente memoria asignada, Dex in Process está habilitado de forma predeterminada, lo que mejora el rendimiento general de la compilación y elimina el sobrecarga de iniciar múltiples instancias de VM paralelas. El resultado es una mejora significativa en todos los tiempos de compilación, incluidas las compilaciones instantáneas, incrementales y completas.

Fuente: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e

https://rnfirebase.io/#aumentando-la-construcción-de-memoria-de-android

Calificaciones y comentarios

Puedes defender nuestra función poniendo un comentario o dejando una valoración te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *