After reading some articles on the internet I am a little lost in understanding the difference between INotify max_user_instances and max_user_watches.
From official Linux man:
/proc/sys/fs/inotify/max_user_instances
This specifies an upper limit on the number of INotify instances that can be created per real user ID.
and
/proc/sys/fs/inotify/max_user_watches
This specifies an upper limit on the number of watches that can be created per real user ID.
Does it mean that max_user_instances
is an instance of INotify process, which can monitor multiple filesystems and limit of that is specified by max_user_watches
?
If the former is true, how does it work in practice? Each process, which has to monitor some filesystems is creating user instance of INotify (I think not really because it is related to user id)?
Currently, after deployment on Amazon Ec2 instance, I have an error like this:
System.IO.IOException: The configured user limit (128) on the number of INotify instances has been reached.
If I understand correctly, there are too many instances created, which are monitoring for filesystem changes? What can be the cause of that?