multiple node.js + always = Error: watch EMFILE

I'm running three node.js applications on one server, all using Foreman to start up the apps through always.js.

Under zero load, one of my apps consistently throws the error Error: watch EMFILE and restarts. That application still works though, despite constantly throwing that error... I've tried to find more information about this error, but there's not a whole lot out there ("too many files open" or "increase ulimit".)

My question is: why would this be happening on an idle web application - and why just one out of three? It's not doing anything... Is it an issue with always.js? (There are two other node apps running through always on this machine though...) Just looking for some info as to what is causing this error, if it's serious, and how it can be resolved.

Thanks!

FYI, here is a relevant excerpt from the console:

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

I don't have experience with always.js but got similar errors with other node utilities that use the fs.watch command, which in turn uses linux's inotify API.

You might want to try checking the settings for inotify then:

cat /proc/sys/fs/inotify/max_user_instances

If the file exists, setting it to a higher value might help:

echo 8704 > /proc/sys/fs/inotify/max_user_instances