在 node.js 应用程序中,我使用代码“console.log(process.memoryUsage());”记录内存使用情况。输出如下。
{ rss: 13664256, heapTotal: 6131200, heapUsed: 3396912 }
当我使用进程监视器检查 Node 进程的内存使用情况时。内存大小为14.5M。
我有几个问题。
- rss、heapTotal 和 heapUsed 是什么意思?
- 为什么 process.memoryUsage() 输出的内存使用值与进程监视器中显示的相同?
====2013 年 6 月 19 日更新===
我的操作系统是 Mac OS X snow leopard。
问候,
杰弗里
最佳答案
rss、heapTotal 和 heapUsed 是什么意思?
This article有一个非常有效的答案。与 nodejs 相关的所有内存都属于称为“驻留集”的东西。常驻集的一个子集是堆,它存储组成 javascript 对象(字符串、对象等)的数据。 rss
属性代表“驻留集大小”。 heapTotal
和 heapUsed
属性告诉您堆的最大大小(可用于存储对象数据的内存总量),以及您的 nodejs 应用程序有多少堆消费。
关于node.js - 为什么process.memoryUsage()不输出 Node 进程消耗的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170742/