ENOSPC 错误——通常会表现为 “no space left on device”。
现象
file_watcherAddTrackedWorkspaceAddDirectoriesRecursive
- Windsurf 能正常打开
- 语言服务器在启动后立即退出
- 依赖语言服务器的功能(例如 Cascade、Autocomplete)无法使用
诊断
1. 检查你当前的 inotify 限制值
2. 检查当前有多少 inotify 实例正在使用
max_user_instances,新的 inotify 用户(例如语言服务器)可能会初始化失败。
解决方案
临时解决方案(在重启前有效)
永久解决方案(重启后仍然生效)
何时使用哪个数值
fs.inotify.max_user_watches=524288
推荐用于大型代码仓库或 monorepo。每个被监控的文件/目录都会消耗内核内存(在 64 位系统上通常每个监控项约占用 ~1 KB),因此 524288 个监控项 大约会使用 ~512 MB 的内核内存。fs.inotify.max_user_instances=1024
推荐在运行多个会创建 inotify 实例的应用程序时使用(多个 IDE 窗口、容器、文件同步工具等)。默认值 128 在开发环境中很容易被耗尽。