Revista Informática

Truco: Aumentar la memoria máxima en Node

Publicado el 09 junio 2021 por Daniel Rodríguez @analyticslane
Truco: Aumentar la memoria máxima en Node

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.

Cambiar la memoria predeterminada 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

Cambiar la memoria en PM2

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"
    }
  ]
}

Conclusiones

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


Volver a la Portada de Logo Paperblog