在进行大量HTTP请求时节点JS内存泄漏

我正在尝试运行以下节点脚本:

var request = require('request'); var async = require('async'); var util = require('util'); function makeRequest(dom, cb) { request("http://" + dom, function(err, response, body) { console.log(util.inspect(process.memoryUsage())); cb(); }); } var arr = []; for (var i = 0; i < 1600000; i++) { arr.push("google.com"); } async.eachLimit(arr, 100, function(dom, call) { process.nextTick(function() { makeRequest(dom, call); }); }, function(err) { console.log("done"); }); function call() { } 

我基本上做了很多的HTTP请求到一个Web服务(我用google.com为例)。 问题是脚本的内存使用情况正在稳步增加,直到它崩溃的一个“致命错误:CALL_AND_RETRY_2分配失败 – 进程内存不足”的情况下才停止。 任何人都可以告诉我为什么发生内存泄漏,我怎么能解决它? 谢谢。