Sometimes when running in a clustered environment you can get errors like this:

Unhandled exception. System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.

To check what those limits are, run the following:

sudo sysctl -a | grep fs.inotify.max_user

The fix is to increase the limits in /etc/sysctl.conf Set the following lines in that file, and then reboot:

fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=524288

What’s the difference between watches and instances?

max_user_instances represent a handle into the OS to start watching files. These are rationed per user and the default is 128 on Ubuntu

max_user_watches represent the individual watches for changes to files. Each of these takes in a path and then allows the application to read from a returned watch descriptor. These are also limited per user

What is exactly difference between INotify max_user_instances and max_user_watches?

inotify(7) - Linux manual page