fs.inotify.max_user_watches sysctl

Cri*_*ian 1 archlinux ember-cli

我正在使用 archlinx 并安装了 ember-cli。在ember serve我recieving以下信息:

A non-recoverable condition has triggered.  Watchman needs your help!
The triggering condition was at timestamp=1452004013: inotify-add-watch(/home/cristian/projects/transport-company/node_modules/ember-cli/node_modules/testem/node_modules/socket.io-pure/node_modules/socket.io-client-pure/node_modules/engine.io-client-pure/node_modules/parseuri/node_modules/better-assert/node_modules/callsite) -> The user limit on the total number of inotify watches was reached; increase the fs.inotify.max_user_watches sysctl
All requests will continue to fail with this message until you resolve
the underlying problem.  You will find more information on fixing this at
https://facebook.github.io/watchman/docs/troubleshooting.html#poison-inotify-add-watch
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

gal*_*aux 8

通常最好检查一下发出抱怨的软件是否应该实际使用那么多资源。

\n\n

只是为了测试,您可以尝试sudo sysctl fs.inotify.max_user_watches=\xe2\x80\xa6使用比现在更高的数字(sudo sysctl fs.inotify.max_user_watches以获取当前值)。

\n\n

如果找到正确的值,请将其永久设置在/etc/sysctl.d/文件中。

\n


gre*_*y87 6

官方文档说:

如果您遇到过这种状态,则意味着您的内核无法查看您要求它查看的一个或多个根目录中的目录。这种特殊情况被 Watchman 认为是不可恢复的,因为 Watchman 服务不能保证根本原因得到解决,而当系统处于这种状态时,Watchman 不能保证它可以响应正确的结果它的客户所依赖的。我们认为自己中毒了,并且会在进程重新启动之前失败所有手表(不仅仅是它触发的手表)的所有请求。这可能触发的主要原因有两个:

  • 达到了 inotify 监视总数的用户限制或内核未能分配所需的资源
  • 可用的内核内存不足

您可以增加 max_user_watches:

回声 999999 | 须藤三通 -a /proc/sys/fs/inotify/max_user_watches
如果您更改了限制,但仍然出现相同的错误,请重新启动 watchman 进程(自 4.6 起):
守望者 watch-del-all
守望者关闭服务器
https://facebook.github.io/watchman/docs/troubleshooting.html#i-39-ve-changed-my-limits-how-can-i-clear-the-error