为什么空的node.js脚本消耗越来越多的RAM?

时间:2013-03-01 16:27:40

标签: node.js memory-leaks

运行此:

setInterval(function() {
    console.log(process.memoryUsage());
}, 1000);

显示内存使用量不断增长:

{ rss: 9076736, heapTotal: 6131200, heapUsed: 2052352 }
... some time later
{ rss: 10960896, heapTotal: 6131200, heapUsed: 2939096 }
... some time later
{ rss: 11177984, heapTotal: 6131200, heapUsed: 3141576 }

为什么会这样?

1 个答案:

答案 0 :(得分:2)

程序不是为空,它正在运行计时器,检查内存使用情况,并每秒写入控制台一次。这会导致在堆中创建对象,直到垃圾收集运行,您的堆使用量将不断增加。

如果你放手,你应该最终看到heapUsed每次触发垃圾收集时都会返回。