错误:ENOSPC:达到文件监视程序数量的系统限制,监视:Ubuntu 18.04

Udi*_*tha 5 nodejs 18.04

在 VS Code 终端中启动 React 应用程序时,我收到了主题错误。我看到主题问题的答案如下。

临时修复:

sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)

永久修复:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)
  1. 究竟是什么导致了这个错误?因为我在第二天尝试运行该应用程序时得到了这个,我昨天已经运行了它,相同的文件没有任何问题?
  2. 除了 Ubuntu 中的节点模块之外,是否有可能发生这种情况?
  3. 如果我们设置这个数字,就会消耗内存。是否可以再次将其恢复为默认8192?如果不可能,是否是 Ubuntu 中的限制,需要在未来版本中解决?

小智 5

  1. 在stackexchange上查看这个答案(不是我的)

我怀疑前一天的手表仍然有效。

  1. 当实例或手表用完时,这种情况就可能发生。请参阅上一个链接。用户 Oligofren 的脚本和解释非常出色。

  2. 杀死观看进程应该可以。在我的机器上,退出 VS Code 释放了约 470 个手表。


小智 -1

来自:https: //github.com/guard/listen/blob/master/README.md

做这个:

sudo sh -c "echo fs.inotify.max_user_watches=524288 >> /etc/sysctl.conf"
sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)