近日发现一个 Python 写的文件监控同步程序挂了,检查日志发现报错:

TEXT
[2020-11-17 13:42:20,645 pyinotify ERROR] add_watch: cannot watch /*/*/*/* WD=-1, Errno=No space left on device (ENOSPC)

Google 之后发现是系统 watches 配额用尽,需要增大 watches 配额,默认 8192,增大 5 倍试试吧。

编辑 sysctl.conf 文件,然后更新:

Bash
echo fs.inotify.max_user_watches=40960 >> /etc/sysctl.conf
sysctl -p

再次重启 Python 脚本,正常运行。

另外,如果磁盘空间用尽,或者 Inode 节点用尽也会报此错误,df 命令可以查询使用情况。

查看存储空间:

Bash
df -h

查看 Inode 节点:

Bash
df -i