code-server提示达到文件观察者数量的系统限制解决办法
code-server提示System limit for number of file watchers reached解决办法
参考:
https://stackoverflow.com/questions/55763428/react-native-error-enospc-system-limit-for-number-of-file-watchers-reached
https://blog.csdn.net/weixin_42375768/article/details/118637237
https://github.com/cdr/code-server/issues/628
起因:
几天前更新文章后发现在cloudflare构建失败了,因为highlights.js,所以在Docker部署的code-server上准备clone我的博客仓库进行修改测试。结果出现
1 | Error: ENOSPC: System limit for number of file watchers reached ...... |
工作目录下的文件太多,无法实时监控文件的变化。同时vscode报出警告:“VSCode报警:无法在这个大型工作区中监视文件更改。”
解决办法(假的)
注意我这里踩坑
我是在docker下的code-server容器里执行的
- 编辑sysctl.conf
1
sudo vim /etc/sysctl.conf
- 在底部添加一行
1
fs.inotify.max_user_watches=524288
- 保存退出后执行应用结果出现了权限不足的提示
1
sudo sysctl -p
1
sysctl: permission denied on key "fs.inotify.max_user_watches"
原因
原来docker会继承主机上的一些设置文件,为了防止影响全局,上述文件在docker中会被设置为read-only。所以需要到主机上去更改以上配置。主机更改完成后,docker也就自动继承了。
解决办法(真的)
在宿主机下操作
编辑sysctl.conf
1 | sudo vim /etc/sysctl.conf |
在底部添加一行
1 | fs.inotify.max_user_watches=524288 |
保存退出后执行应用
1 | sudo sysctl -p |
在宿主机以及容器上查看max watches
1 | cat /proc/sys/fs/inotify//max_user_watches |
问题解决~