Syncthing报错,failed to set up inotify handler. Please increase inotify limits

Syncthing在文件同步时报错,failed to set up inotify handler. Please increase inotify limits, see https://docs.syncthing.net/users/faq.html#inotify-limits 。这是一个非常经典的 Linux 服务器部署 Syncthing 时的报错。

1、报错原因

Inotify 是 Linux 内核的一个特性,用于“实时监控文件变化”。Syncthing 靠它来实现:只要你修改了文件,它能秒级感知并开始同步,而不需要等每小时一次的全盘扫描。

Debian 默认的 inotify 限制较低(通常是 8192),当你的同步文件夹中文件或目录数量较多时,这个额度就用光了,导致实时监控失效。

2、解决方法

echo "fs.inotify.max_user_watches=204800" | sudo tee -a /etc/sysctl.d/90-syncthing.conf
sudo sysctl -p /etc/sysctl.d/90-syncthing.conf

3、验证是否成功

cat /proc/sys/fs/inotify/max_user_watches

如果返回204800,说明已经调整成功。

Syncthing 管理界面,操作->重启Syncthing

解释:每个 inotify watch 在 64 位系统上大约占用 1KB 的内核内存。设置为 204800 约占用 200MB 内存。 对于现代服务器来说,这笔内存开销换取文件同步的“实时性”是非常划算的。

如果你的同步文件超过 20 万个,我们可以把这个数字再调大一些,比如 524288。

Syncthing系列学习

原创文章,作者:Gary,如若转载,请注明出处:https://www.cpw5.top/1688.html

淘宝小店:陈皮王五工作室

公司网址:海灵德(六安)环境科技有限公司

(0)
GaryGary
上一篇 5小时前
下一篇 2024-09-16 下午2:25

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)