在 Debian 上遇到 inotify 报错,通常不是 Debian 本身的问题,而是 Linux 内核 inotify 资源限制 导致的。下面按常见原因给你系统说明。
你可能会看到类似:
Too many open filesENOSPC: System limit for number of file watches reachedinotify_add_watch failedNo space left on device(但磁盘没满)这些基本都指向同一件事:inotify watch 数量达到上限。
Debian 默认:
cat /proc/sys/fs/inotify/max_user_watches
通常是:
但以下场景很容易撑爆:
ulimit -n
如果太小(如 1024),也会导致 inotify 无法创建。
inotify_add_watch 但不 inotify_rm_watchcat /proc/sys/fs/inotify/max_user_watches
查看当前使用量(近似):
find /proc/*/fd -type l 2>/dev/null | wc -l
或:
lsof | grep inotify | wc -l
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
编辑:
sudo nano /etc/sysctl.conf
添加:
fs.inotify.max_user_watches=524288
然后:
sudo sysctl -p
✅ 对 Debian / Ubuntu 通用
ulimit -n 65536
永久:
/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
node_modules.git例如 Vite:
server: {
watch: {
ignored: ['**/node_modules/**']
}
}
systemctl show <service> | grep LimitNOFILE
如果你愿意,可以把 完整报错信息 + 使用场景(Docker / Node / VS Code / 系统等) 发出来,我可以直接帮你定位到具体程序和最优参数。