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