在阅读了互联网上的一些文章后,我对 INotify max_user_instances和max_user_watches之间的区别有点迷失。
来自 Linux 官方人员:
/proc/sys/fs/inotify/max_user_instances这指定了每个真实用户 ID 可以创建的 INotify 实例数量的上限。
和
/proc/sys/fs/inotify/max_user_watches这指定了每个真实用户 ID 可以创建的监视数量的上限。
这是否意味着它max_user_instances是 INotify 进程的一个实例,它可以监视多个文件系统并且其限制由 指定max_user_watches?
如果前者是正确的,那么在实践中它是如何运作的?每个必须监视某些文件系统的进程正在创建 INotify 的用户实例(我认为不是真的,因为它与用户 ID 相关)?
目前,在 Amazon Ec2 实例上部署后,出现如下错误:
System.IO.IOException: The configured user limit (128) on the number of INotify instances has been reached.
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话,创建了太多实例,这些实例正在监视文件系统更改?造成这种情况的原因是什么?