1

運用サーバーが次のエラーを返しています。

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)

次のリンクに記載されているように、リスナーの数を増やすことでこのエラーに対処しようとしていますが:

スタックオーバーフロー

node.js 公式サイト

リスナーの数に関係なく、同じエラーが発生し続けます。このエラーを止める唯一の方法は設定process.setMaxListeners(0)ですが、そうするとメモリリークを検出できなくなるのではないかと心配しています。

設定することをお勧めしますprocess.setMaxListeners(0)か?または、最初にメモリリークがないことを確認しますか? 私はメモリリーク検出ツールを探していましたが、明確な結果はありませんでした. この種のツールについて何か提案があれば、それは間違いなく役に立ちます!

4

0 に答える 0