Un problema común al trabajar en un proyecto JavaScript Node.js es el error "JavaScript montón sin memoria". Este error generalmente ocurre cuando la memoria predeterminada asignada por su sistema a Node.js no es suficiente para ejecutar un proyecto grande.

El error es común ya sea que ejecute su proyecto en Windows, macOS o una distribución de Linux como Ubuntu. Afortunadamente, existen algunas soluciones sencillas que pueden ayudar a resolver el error "Memoria insuficiente de JavaScript".

¿Qué es la memoria de montón?

Antes de buscar corregir el error, es útil entender qué es la memoria de montón y cómo los programas lo utilizan.

La memoria asignada en el montón del sistema también se denomina memoria asignada dinámicamente. Depende del programador usar la memoria disponible como mejor le parezca. Más importante aún, el tamaño del almacenamiento dinámico para un programa depende de la memoria virtual disponible que se le haya asignado.

Si está ejecutando un proyecto relativamente grande, puede requerir más memoria que la parte asignada por defecto. Esto puede hacer que su proyecto se bloquee y registre el error "JavaScript montón sin memoria".

instagram viewer

Cómo arreglar el montón de JavaScript sin memoria en Windows

Independientemente de su IDE, la solución "JavaScript montón sin memoria" es idéntica.

Puedes agregue una variable de entorno a través del Panel de control para aumentar la memoria asignada a un proyecto de Node.js.

  1. Abre el Menu de inicio, buscar Configuración avanzada del sistemay seleccione la Mejor coincidencia.
  2. Desde el cuadro de diálogo, haga clic en Variables de entorno, luego haga clic en Nuevo desde cualquiera Variables del sistema o Variables de usuario. El primero se aplica a todos los usuarios de su computadora, mientras que el segundo afecta solo a su cuenta actual.
  3. En el Nombre de la variable campo entrar NODO_OPCIONES. En el Valor variable campo entrar --max-old-space-size=4096. Este valor asignará 4 GB de memoria virtual a Node.js. Para establecer un valor diferente, multiplique la cantidad que necesita en GB por 1024 (el valor variable debe estar en MB).
  4. Haga clic en OK para guardar los cambios, luego haga clic en Aplicar y finalmente haga clic OK una vez más. Reinicie su proyecto para que los cambios surtan efecto.

También puede establecer una variable de entorno a través de un terminal de Windows PowerShell.

Inicie una terminal de PowerShell, escriba el siguiente comando y presione Entrar:

$entorno: NODE_OPTIONS="--max-old-space-size=4096"

Si solo desea aumentar la memoria del montón temporalmente, ejecute el siguiente comando en una terminal de PowerShell antes de ejecutar su proyecto:

establecer NODO_OPCIONES=--max-old-space-size=4096

Una vez que haya ingresado este comando, puede implementar/ejecutar su proyecto usando npm ejecutar dev o su propio guión.

Recuerde siempre ingresar el tamaño de memoria requerido en MB. No hacerlo puede causar un comportamiento inesperado en su programa. También es vital no asignar toda la memoria disponible, ya que esto puede causar una falla significativa en el sistema.

Cómo reparar el error de falta de memoria en el montón de JavaScript en macOS y Linux

En macOS y Linux, la corrección de la memoria del montón es muy similar. Debería exportar una variable de entorno que especifica la cantidad de memoria virtual asignada a Node.js.

En su terminal, antes de ejecutar su proyecto, ingrese el siguiente comando y presione Entrar:

exportar NODE_OPTIONS=--max-old-space-size=4096

Esto asignará 4 GB de memoria virtual al espacio de ejecución de Node.js. Para establecer una cantidad diferente de memoria, reemplace 4096 con la cantidad requerida en MB.

Puede agregar el comando anterior a su archivo de configuración para evitar repetir el proceso. Para ello, siga el mismo proceso para configurar su variable PATH.

Evite el error de falta de memoria en el montón de JavaScript

Puede evitar este error asegurándose de que su programa no tenga pérdidas de memoria. La gestión adecuada de la memoria es crucial al escribir sus programas, especialmente en un lenguaje de bajo nivel.

Si bien aumentar la memoria asignada solucionará temporalmente el problema, debe encontrar la causa raíz y solucionarlo.