Javascript &引用;EventEmitter内存泄漏“;使用最新版本的nodejs时发生
经过大量的努力尝试和谷歌搜索,我仍然不知道如何解决这个问题。 需要帮助吗 输出:Javascript &引用;EventEmitter内存泄漏“;使用最新版本的nodejs时发生,javascript,node.js,Javascript,Node.js,经过大量的努力尝试和谷歌搜索,我仍然不知道如何解决这个问题。 需要帮助吗 输出: (node) warning: possible EventEmitter memory leak detected. 51 listeners added. Use emitter.setMaxListeners() to increase limit. Trace at EventEmitter.addListener (events.js:160:15) at EventEmitter
(node) warning: possible EventEmitter memory leak detected. 51 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at EventEmitter.addListener (events.js:160:15)
at EventEmitter.once (events.js:179:8)
at SkinCollection.open (/home/nitin/node_modules/mongoskin/lib/mongoskin/collection.js:108:20)
at obj.(anonymous function) [as insert] (/home/nitin/node_modules/mongoskin/lib/mongoskin/utils.js:64:10)
at insertErrorLog (/home/nitin/dev/aayush/errorLog.js:37:18)
at Server.<anonymous> (/home/nitin/dev/aayush/errorLog.js:69:24)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2022:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:119:23)
at Socket.socket.ondata (http.js:1912:22)
(节点)警告:检测到可能的EventEmitter内存泄漏。新增51名听众。使用emitter.setMaxListeners()增加限制。
痕迹
在EventEmitter.addListener(events.js:160:15)
在EventEmitter.once(events.js:179:8)
在SkinCollection.open(/home/nitin/node_modules/mongoskin/lib/mongoskin/collection.js:108:20)
at obj.(匿名函数)[as insert](/home/nitin/node_modules/mongoskin/lib/mongoskin/utils.js:64:10)
在insertErrorLog(/home/nitin/dev/aayush/errorLog.js:37:18)
在服务器上
Thnax提前获取帮助…它看起来像是db.collection
在您调用它时创建一个EventEmitter。是否可以尝试在请求处理程序之外缓存集合:
var logs = db.collection('logs');
var insertErrorLog = function (req, res) {
var pathname = url.parse(req.url).pathname;
var ua = req.headers['user-agent']; // user-agent header from an HTTP request
var details = parser.setUA(ua).getResult();
var params = url.parse(req.url,true).query;
logs.insert({…});
快速查看代码可以看出,它应该总是返回相同的实例,但我看不出问题的其他原因: