¿Cómo puedo monitorear el uso de memoria de Node.js?
javascript
node.js
memory
fsiaonma
fuente
fuente

Respuestas:
node-memwatch : detecta y encuentra fugas de memoria en el código Node.JS. Consulte este tutorial Seguimiento de pérdidas de memoria en Node.js
fuente
El módulo de proceso integrado tiene un método
memoryUsageque ofrece información sobre el uso de memoria del proceso actual de Node.js. Aquí hay un ejemplo de Node v0.12.2 en un sistema de 64 bits:En este ejemplo simple, puede ver que la asignación de una matriz de 10 millones de elementos consume aproximadamente 80 MB (eche un vistazo
heapUsed).Si nos fijamos en el código fuente de V8 (
Array::New,Heap::AllocateRawFixedArray,FixedArray::SizeFor), entonces se verá que la memoria utilizada por un array es un valor fijo más la longitud multiplicada por el tamaño de un puntero. Este último es de 8 bytes en un sistema de 64 bits, lo que confirma que la diferencia de memoria observada de 8 x 10 = 80 MB tiene sentido.fuente
--expose-gcpara lagcfunción?--expose-gcparaprocess.memoryUsage().gc()(require--expose-gc) se usó en la respuesta para activar de manera determinista la recolección de basura para que sea más fácil ver lo queprocess.memoryUsageinforman.Además, si desea conocer la memoria global en lugar del proceso de nodo ':
Ver documentación
fuente
El memwatch original está esencialmente muerto. Trate memwatch-próxima vez, que parece estar funcionando bien en las versiones modernas de Nodo.
fuente
En Linux / Unix (nota: Mac OS es un Unix) use
topy presione M (Shift + M) para ordenar los procesos por uso de memoria.En Windows, use el Administrador de tareas.
fuente
Applications > Utilitiesy encontrará unaActivity Monitoraplicación. Ese es el equivalente al Administrador de tareas. OS X también tiene eltopcomando.htoplugar de top en Linux. Es mucho mejor.