De la documentation officielle ( source ):
process.memoryUsage ()
Renvoie un objet décrivant l'utilisation de la mémoire du processus Node mesuré en octets.
var util = require('util'); console.log(util.inspect(process.memoryUsage()));
Cela générera:
{ rss: 4935680, heapTotal: 1826816, heapUsed: 650472 }
heapTotal et heapUsed font référence à l'utilisation de la mémoire du V8.
Que font exactement rss , heapTotal et heapUsed représente?
Cela peut sembler une question triviale, mais j'ai cherché et je n'ai pas trouvé de réponse claire jusqu'à présent.
Pour répondre à cette question, il faut d'abord comprendre le schéma de mémoire de V8.
Un programme en cours d'exécution est toujours représenté par un espace alloué en mémoire. Cet espace est appelé Ensemble résident . V8 utilise un schéma similaire à la machine virtuelle Java et divise la mémoire en segments:
Maintenant, il est facile de répondre à la question:
[~ # ~] rss [~ # ~] est le taille définie résidente , la partie de la mémoire du processus contenue dans RAM (par opposition à l'espace de swap ou à la pièce contenue dans le système de fichiers).
Le tas est la partie de la mémoire d'où proviendront les objets nouvellement alloués (pensez à malloc
en C, ou new
en JavaScript).
Vous pouvez en savoir plus sur le tas sur Wikipedia .