【问题标题】:memory leak detected when running on linux:在 linux 上运行时检测到内存泄漏:
【发布时间】:2015-06-28 06:15:55
【问题描述】:

我尝试使用事件发射器增加监听器的数量。但它不起作用。同样在 Windows 中运行,没有警告。

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.

追踪

    at EventEmitter.addListener (events.js:160:15)
    at Server.connect (/dir/node_modules/mongoose/node_modules/mongodb/lib/server.js:291:17)
    at Db.open (/dir/node_modules/mongoose/node_modules/mongodb/lib/db.js:190:19)
    at MongoStore._open_database (/dir/node_modules/connect-mongo/lib/connect-mongo.js:182:15)
    at MongoStore._get_collection (/dir/node_modules/connect-mongo/lib/connect-mongo.js:177:14)
    at /dir/node_modules/connect-mongo/lib/connect-mongo.js:194:16
    at /dir/node_modules/mongoose/node_modules/mongodb/lib/db.js:200:5
    at connectHandler (/dir/node_modules/mongoose/node_modules/mongodb/lib/server.js:272:7)
    at g (events.js:180:16)
    at EventEmitter.emit (events.js:95:17)

【问题讨论】:

标签: angularjs node.js memory-leaks meanjs eventemitter


【解决方案1】:

解决了... 修改 max no.of listeners 不起作用。 问题出在新版本的 mongoose/mongodb 上。 当我看到 mongodb 服务器时,我注意到在连续循环中创建到数据库的连接(可能是由于新连接的一些问题)。 我将它们切换回 package.json 中的先前版本,清除缓存并再次安装依赖项。现在它的工作。

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 2012-07-16
    • 2012-01-22
    • 2010-09-15
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多