运行此:
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/