2

次のエラーが表示されます。

Error: accept EMFILE
at errnoException (net.js:769:11)
at TCP.onconnection (net.js:1017:24)

node.js アプリから。そもそも TCP.onconnection を呼び出すコードの行番号を取得できますか?

4

2 に答える 2

4

いいえ、できません。コードがを呼び出していないためですTCP.onconnection。これはイベントハンドラーであるため、イベントによってトリガーされます。これが、イベントベースのプログラミングをデバッグするのが難しい理由の1つです。

ただし、そのエラーが何を意味するのかを調べることはできれば幸いです。一部の検索では、ファイル記述子の制限に達していることがわかります。これはおそらく増やすことができます(ただし、OSに依存するため、詳細情報がないと方法を説明できません)。

于 2013-03-20T21:06:52.143 に答える
1

EMFILEは、システムで開かれているファイルが多すぎる場合に発生します。この制限を増やすには、Linuxで「開いているファイル/ファイル記述子(FD)の最大数を増やす」を参照するか、ジョブの終了時に開いている接続を閉じるようにコードを修正してください。または、開くファイルが多すぎる場合は、この値を適切なサイズに増やしてください。

于 2013-03-20T21:55:37.797 に答える