【发布时间】:2017-03-14 17:24:15
【问题描述】:
我有一个简单的 NodeJs 应用程序,它充当 REST 客户端并请求大型 JSON 对象。问题是它总是内存不足(占用超过 6Gb)。我正在使用手动垃圾收集(应用程序以 --expose_gc 开头),但这似乎没有多大帮助。
这是我的代码:
var needle = require('needle');
function getAllData() {
getDataFromUrl("http://puppygifs.tumblr.com/api/read/json");
getDataFromUrl("http://puppygifs.tumblr.com/api/read/json");
getDataFromUrl("http://puppygifs.tumblr.com/api/read/json");
getDataFromUrl("http://puppygifs.tumblr.com/api/read/json");
getDataFromUrl("http://puppygifs.tumblr.com/api/read/json");
setInterval(function () {
getAllData();
}, 10 * 1000);
}
function getDataFromUrl(url) {
needle.get(url, function (error, response) {
if (!error && response.statusCode == 200) {
console.log("do something");
}
});
}
function scheduleGc() {
global.gc();
setTimeout(function () {
scheduleGc();
}, 100 * 1000);
}
getAllData();
scheduleGc();
我尝试过请求库,但结果相同。我做错了什么?
附:我的nodejs版本是6.9.1,needle版本是1.3.0
【问题讨论】:
标签: node.js memory-leaks needle.js