上面的答案很好用,但不能解释为什么我一直在这里寻找完整答案的原因-
为什么?
同步文件(例如dropbox,git等)的程序使用inotify来注意文件系统的更改。该限制可以通过-看到
cat /proc/sys/fs/inotify/max_user_watches
对我来说,它显示100000。如果此限制不足以监视目录中的所有文件,则会引发此错误。
增加inotify观察者的数量(简短版):
如果您正在运行Debian,RedHat或其他类似的Linux发行版,请在终端中运行以下命令:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
如果您正在运行ArchLinux,请改为运行以下命令(有关原因,请参见此处):
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
然后将其粘贴到您的终端中,然后按Enter键运行它。
技术细节:
在Linux上,默认情况下,Listen使用inotify监视目录更改。遇到可以监视的文件数量受到系统限制的情况并不少见。例如,Ubuntu Lucid(64位)的inotify限制设置为8192。
您可以通过执行以下操作来获取当前的inotify文件监视限制:
$ cat /proc/sys/fs/inotify/max_user_watches
如果此限制不足以监视目录中的所有文件,则必须增加该限制以使“侦听”正常工作。
您可以使用以下方法临时设置新的限制:
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
如果您想让自己的限额永久化,请使用:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
如果“侦听”一直在抱怨,您可能还需要注意max_queued_events和max_user_instances的值。
来源:https : //github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers