De la documentación oficial ( fuente ):
process.memoryUsage ()
Devuelve un objeto que describe el uso de memoria del proceso Nodo medido en bytes.
var util = require('util'); console.log(util.inspect(process.memoryUsage()));
Esto generará:
{ rss: 4935680, heapTotal: 1826816, heapUsed: 650472 }
heapTotal y heapUsed se refieren al uso de memoria de V8.
¿Qué significan exactamente rss , heapTotal y heapUsed ?
Puede parecer una pregunta trivial, pero he estado buscando y no he podido encontrar una respuesta clara hasta ahora.
RSS es el tamaño del conjunto residente , la parte de la memoria del proceso almacenada en la RAM (en oposición al espacio de intercambio o la parte almacenada en el sistema de archivos).
El montón es la porción de memoria de la que provendrán los objetos recién asignados (piense
malloc
en C onew
en JavaScript).Puede leer más sobre el montón en Wikipedia .
fuente
heapTotal
yheapUsed
?heapTotal
es el espacio de almacenamiento dinámico total asignado por el motor V8 subyacente, para asignaciones dinámicas.heapUsed
es la memoria utilizada dentro de ese espacio total. Ambos son administrados por V8 y están sujetos a crecimiento / reducción cuando sea necesario.La doumentation de Node.js lo describe de la siguiente manera:
Todos los valores mencionados se expresan en bytes. Por lo tanto, si solo desea imprimirlos, probablemente desee reescalarlos a MB:
Eso te dará una salida como:
fuente
Hagamos esto con un ejemplo
El siguiente ejemplo le mostrará cómo el aumento en el uso de memoria aumentará realmente el
rss
yheapTotal
Ejecutar lo anterior le dará algo como esto:
Esto muestra claramente cómo el uso de variables y el incremento continuo del espacio requerido aumenta el heapTotal y, en consecuencia, el tamaño del conjunto residente (
rss
)fuente