目前发现使用 code-server
以及 npm
发现,经常会出现“”xxx unable to watch for file changes in this large workspace” (error ENOSPC)”、“外部文件更改同步可能很慢”、“当前的 inotify(7) 监视限制太低” 等问题。
原因
系统参数 fs.inotify.max_user_watches
设置值低,限制了每个用户所能创建的 inotify
实例的数量。每个实例可以监视一个或多个文件或目录。当数量超过此限制时,新的监视请求将被拒绝。
Linux
通过 fs.inotify.max_user_watches
参数限制内核中 inotify
子系统的观察者数量。 inotify
是一种文件系统监控机制,它可以用于检测文件或目录的变化,并在事件发生时通知相关的应用程序。
1 | # 查看 `fs.inotify.max_user_watches` 参数值 |
解决
需要使用 管理员权限 进行修改!
docker
内修改失败,显示没有权限修改时,需要到宿主机内用管理权限执行以下内容。
临时修改
1
sudo sysctl fs.inotify.max_user_watches=524288
永久修改
1
echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf && sysctl -p
如需要排查具体出现这种情况的原因,可以参考