運用サーバーが次のエラーを返しています。
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 81 wakeup listeners added. Use emitter.setMaxListeners() to increase limit
1|pro_app | 2019-03-19 15:59:01: MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 81 wakeup listeners added. Use emitter.setMaxListeners() to increase limit
1|pro_app | at _addListener (events.js:243:17)
1|pro_app | at Connection.addListener (events.js:259:10)
1|pro_app | at Connection.Readable.on (_stream_readable.js:796:35)
1|pro_app | at Connection.once (events.js:290:8)
1|pro_app | at Connection._send (/var/www/app/node_modules/http2/lib/protocol/connection.js:355:10)
1|pro_app | at runCallback (timers.js:696:18)
1|pro_app | at tryOnImmediate (timers.js:667:5)
1|pro_app | at processImmediate (timers.js:649:5)
1|pro_app | at process.topLevelDomainCallback (domain.js:121:23)
次のリンクに記載されているように、リスナーの数を増やすことでこのエラーに対処しようとしていますが:
リスナーの数に関係なく、同じエラーが発生し続けます。このエラーを止める唯一の方法は設定process.setMaxListeners(0)
ですが、そうするとメモリリークを検出できなくなるのではないかと心配しています。
設定することをお勧めしますprocess.setMaxListeners(0)
か?または、最初にメモリリークがないことを確認しますか? 私はメモリリーク検出ツールを探していましたが、明確な結果はありませんでした. この種のツールについて何か提案があれば、それは間違いなく役に立ちます!