我使用的某些软件需要高于默认值的值/proc/sys/fs/inotify/max_user_watches
。我可以使用文本编辑器或从终端修改此值,一段时间内一切都正常。然而,之后重启我的电脑(不只是注销并再次登录,这可以正常工作),该值已重置为 8192。
为什么会发生这种情况?我怎样才能使更改永久生效?
答案1
在 Ubuntu 16.04 上,以下操作对我有用......
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
其中 524288 是我使用的高于默认值的数字。第二条命令是让它在不重启的情况下生效。
另外,这里有一个类似问题的链接,其中有一些很好的答案,特别是来自 user3086182 的第二个答案,对我有帮助。
答案2
从:/usr/lib/sysctl.d/50-default.conf
:
要覆盖此文件中的设置,请在 /etc 中创建一个本地文件(例如 /etc/sysctl.d/90-override.conf),并将所有分配放在那里。
因此创建文件:nano /etc/sysctl.d/90-override.conf
。
并用以下内容填充它:fs.inotify.max_user_watches=65536
。
当您重新启动服务器时将使用它来填充:/proc/sys/fs/inotify/max_user_watches
因此无需编辑/proc/sys/fs/inotify/max_user_watches
。完成上述操作后,您可以重新启动服务器以使新设置生效。