Process out of memory en Node.js
1 min readAug 20, 2019
En ocaciones nos vamos a topar con un problema que terminará nuestro proceso con exit code diferente de 0.
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed — JavaScript heap out of memory
Este error se lanza cuando la memoria disponible del sistema es menor a la requerida para ejecutar el proceso. La cantidad de memoria predeterminada para Node.js es 512 MB, lo cual en casos de procesos exigentes de I/O, puede resultar en la terminación del proceso.
Node permite cambiar este valor con el comando --max-old-space-size.
node --max-old-space-size=1024 index.js #aumentar a 1gb
node --max-old-space-size=2048 index.js #aumentar a 2gb
node --max-old-space-size=4096 index.js #aumentar a 4gb
node --max-old-space-size=8192 index.js #aumentar a 8gb
En caso de usar npm, también es posible asignar el comando a un alias:
alias npm=’node — max_old_space_size=8192 /usr/bin/npm’
Si se utiliza pm2 como gestor de procesos, se puede añadir al archivo pm2.json la siguiente configuración:
{
"apps": [
{
...
"node_args": "--max_old_space_size=4096"
}
]
}
Si te gustó el artículo no olvides compartirlo :D