×

出现 inotify watch limit reached 错误是什么问题,怎么解决?

2023-03-25 12:47:24 Falcon

inotify是Linux内核提供的一种监控文件系统事件的机制。当使用inotify监控的文件数量达到系统设置的上限时,就会出现"inotify watch limit reached"这个问题。

解决这个问题有两种方法:

  1. 临时修改watch limit

可以通过修改/sys/fs/inotify/max_user_watches文件来临时提高watch limit。比如可以执行以下命令:

echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches

这样就将watch limit临时提高到了524288。

但是这个修改只是临时的,当系统重启时,这个值会恢复到默认值。如果想要永久修改这个值,需要修改/etc/sysctl.conf文件,并添加以下内容:

fs.inotify.max_user_watches=524288

然后执行以下命令使修改生效:

sudo sysctl -p

2. 修改systemd配置

如果使用systemd来管理进程,可以通过修改systemd配置来永久修改watch limit。具体步骤如下:

打开/etc/systemd/system.conf文件,在文件末尾添加以下内容:

fs.inotify.max_user_watches=524288

然后执行以下命令使修改生效:

sudo systemctl daemon-reexec

这样就可以永久性地修改watch limit了。

本文收录于