Al ejecutar un proceso de Node que sea intensivo en memoria nos podemos encontrar que este finalice de una forma abrupta con un mensaje similar a FATAL ERROR: invalid table size Allocation failed - JavaScript heap out of memory. Lo que nos indica que este se ha quedado sin memoria. Generalmente esto no es debido a que el ordenador se quede sin memoria, sino a que se ha utilizado la máxima asignada a un proceso de Node. Por lo cual se puede solucionar fácilmente aumentando la memoria máxima en Node.
La memoria máxima que puede usarse en un proceso de Node se puede configurar asignando el nuevo valor en MB al comando --max-old-space-size durante el lanzamiento del proceso. Así, para aumentar la memoria a 4GB se puede escribir
node --max-old-space-size=4096 index.js
En el caso de trabajar con PM2 esta opción se puede indicar en el archivo pm2.json, lo que nos da algo más de flexibilidad y control sobre este valor. Así, para conseguir los mismos 4GB de antes se debería crear un archivo como el siguiente
{
"apps": [
{
"node_args": "--max_old_space_size=4096"
}
]
} Hoy hemos visto cómo se puede aumentar fácilmente la memoria máxima de Node para poder lanzar en nuestros sistemas procesos más complejos.
Imagen de Theodor Moise en Pixabay
Hace poco publiqué una entrada en la que trataba de un sesgo bien documentado: aferrarse…
En un entrada previa explicamos qué son el WOE y el IV y por qué…
Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…
“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…
Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…
Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…
This website uses cookies.