【发布时间】:2015-09-24 11:42:42
【问题描述】:
看起来我在我的代码中发现了内存泄漏,但我不确定,而且我对 nodejs 内存泄漏没有太多经验。
谁能解释一下,这段代码会产生内存泄漏吗?
var tasks = [];
// each 10 seconds
tasks.push(function () {
console.log('hello, world!');
});
// each minute
while (tasks.length) {
var task = tasks.shift();
task();
}
UPD:在我的代码中错过了 while 循环,现在更新。
我的问题是,我的数组中的匿名函数的范围会从内存中清除吗?
【问题讨论】:
-
我们需要看更多的周边代码。理想情况下,MCVE。这很重要,因为重要的是创建、删除这些的上下文是什么等。但是做一些合理的假设,那里没有 leak 本身,只是你在添加函数 比您删除它们快很多,因此内存使用量会随着时间的推移而增加。不是泄漏,因为您有意保留对这些函数的引用,但绝对值得一看。
标签: javascript node.js memory-leaks