运行此:

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 }


为什么会这样?

最佳答案

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

如果放任不管,那么每次触发垃圾回收时,您最终应该都会看到heapUsed倒退。

关于node.js - 为什么一个空的node.js脚本会消耗越来越多的RAM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15162289/

10-09 12:46