¿Cómo resolver «Proceso sin excepción de memoria» en Node.js?

En este artículo, aprenderemos cómo resolver la excepción ProcessOutOfMemory en NodeJS . Process out of Memory Exception es una excepción que ocurre cuando su programa node.js se queda sin memoria. Esto sucede cuando nuestro programa excede la memoria predeterminada asignada a nuestro programa durante la ejecución. 

Esta excepción se puede resolver aumentando la memoria predeterminada asignada a nuestro programa a la memoria requerida mediante el siguiente comando.

Sintaxis:

node --max-old-space-size=<SPACE_REQD> index.js

Parámetros: 

  • SPACE_REQD: Pase el espacio de memoria aumentado (en Megabytes).

Ejemplo: Primero, volvamos a crear esta excepción y luego entenderemos el motivo detrás de esta excepción.

index.js

let items = [];
  
for (let i = 0; i < 99999995; i++) {
    items.push(i);
}
  
console.log(items);

Ejecute el archivo index.js con el siguiente comando.

node index.js

Salida: obtendremos un ERROR FATAL que dice FatalProcessOutOfMemory como se muestra a continuación.

Nota: La memoria predeterminada asignada a un programa node.js es de 512 MB en sistemas de 32 bits y de 1024 MB en sistemas de 64 bits (el programa anterior se ejecutó en un sistema de 64 bits).

Ejemplo 1: en el siguiente ejemplo, hemos aumentado los requisitos de espacio de memoria a 2048 MB o 2 GB . Use el siguiente comando para ejecutar el archivo JS ( index.js en mi caso).

Sintaxis: 

node --max-old-space-size=2048 index.js

Ahora podemos ver que nuestro programa funciona perfectamente sin excepciones. Si ejecuta el siguiente código usando el comando estándar » node index.js «, arrojará la misma excepción: FatalProcessOutOfMemory , porque nuestro programa excede el espacio de memoria predeterminado que se le asigna.

Así que usamos el comando –max-old-space-size para aumentar el espacio de memoria asignado, para que nuestro programa no se quede sin memoria.

index.js

let items = [];
  
for (let i = 0; i < 99999995; i++) {
    items.push(i);
}
  
console.log(items);

Producción:

Ejemplo 2: En el siguiente ejemplo, hemos aumentado los requisitos de espacio de memoria a 3072 MB o 3 GB . Use el siguiente comando para ejecutar el archivo JS ( index.js en mi caso).

Sintaxis: 

node --max-old-space-size=3072 index.js

Si ejecuta el siguiente código usando el comando estándar » node index.js «, arrojará la misma excepción: FatalProcessOutOfMemory , porque nuestro programa excede el espacio de memoria predeterminado que se le asigna. 

Así que usamos el comando –max-old-space-size para aumentar el espacio de memoria asignado, para que nuestro programa no se quede sin memoria.

index.js

let items = [];
  
for (let i = 0; i < 90000000; i++) {
    items.push("GeeksforGeeks");
}
  
console.log(items);

Producción:

Publicación traducida automáticamente

Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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