我写了一段代码,要对Facebook发出请求。
现在我把这段代码包装成一个无限循环,它将使用超时每隔10秒发送一次这些请求。
代码:
var poll = function(socket, userProvider) {
var lastCallTime = new Date();
var polling = true;
// The stream itself, non blocking
function performPoll() {
var results = feed(function (err, data) {
lastCallTime = new Date();
// PROCESS DATA
// Check new posts
if (polling) {
setTimeout(performPoll, 1000 * 10);
}
});
};
// Start infinite loop
performPoll();
};
feed(cb)只是要求向Facebook请求数据的请求,这100%工作并做我想要它做的事情,我现在唯一的问题是这段代码保持增加我的内存使用量。几分钟后,它已经增加了50MB(从50 - > 100)。
有没有人可以帮我确定原因?
答案 0 :(得分:0)
v8不会立即收集内存。如果稳定在100mb,则可以预期。有关详情,请查看nodejs setTimeout memory leak?
如果你真的想要清除内存,请使用global.gc()。阅读this blog有关如何手动调用垃圾收集器的信息。