1 つのサーバーで 3 つの node.js アプリケーションを実行しています。すべて Foreman を使用して、always.js を介してアプリを起動しています。
ゼロ負荷の下で、私のアプリの 1 つが一貫してエラーをスローしError: watch EMFILE
、再起動します。そのアプリケーションは、常にそのエラーをスローしているにもかかわらず、引き続き機能します...このエラーに関する詳細情報を見つけようとしましたが、それほど多くはありません (「開いているファイルが多すぎます」または「ulimit を増やしてください」)。
私の質問は、アイドル状態のWeb アプリケーションでなぜこれが発生するのか、そしてなぜ 3 つのうち 1 つだけなのかということです。それは何もしていません...それはalways.jsの問題ですか?(ただし、このマシンでは他に 2 つのノード アプリが常に実行されています...) このエラーの原因、深刻な場合、および解決方法に関する情報を探しています。
ありがとう!
参考までに、コンソールからの関連する抜粋を次に示します。
01:17:07 web.1 | app listening on http://0.0.0.0:5000
01:17:07 web.1 | NODE_ENV = development
01:17:07 web.1 | opened connection to database!
01:17:07 web.1 | [always] Error: watch EMFILE
01:17:07 web.1 | [always] Error: watch EMFILE
01:17:07 web.1 | at errnoException (fs.js:636:11)
01:17:07 web.1 | at FSWatcher.start (fs.js:663:11)
01:17:07 web.1 | at Object.watch (fs.js:691:11)
01:17:07 web.1 | at Object.oncomplete (/home/jesse/local/nodev0.6.14/lib/node_modules/always/lib/monitor.js:62:36)
01:17:07 web.1 | [always] Restarting app.js with Node