如何设置和了解fs.notify.max_user_watches


13

我不明白设置的最佳方法fs.inotify.max_user_watchessysctl。实际上,除了需要设置特定进程可以监视的文件数量之外,我对这里发生的事情了解得不多。

我相信我可以通过运行以下命令来查看最大用户数:

cat /proc/sys/fs/inotify/max_user_watches

我的理解是,有人建议/proc/sys/fs/inotify/max_user_watches通过/etc/sysctl.conf在编辑器中打开并将其添加到其中来进行更改:

fs.inotify.max_user_watches=524288

然后运行sudo sysctl -p-大概-处理对该文件所做的更改。

其他建议运行这样的命令:

sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=12288

我知道那-w代表写,但是正在写什么,写在哪里?只是该命令发生了变化/proc/.../max_user_watches

上面概述的两种方法中哪一种最好?据我所知,524288和12288是不同的数字,但我不明白的运行效果之间的差异-p-w

Answers:


10

sysctl -w将内核参数值写入下面的相应键/proc/sys

sudo sysctl -w fs.inotify.max_user_watches=12288

12288/proc/sys/fs/inotify/max_user_watches。(这并不等同,完全是这样;感兴趣的读者可以strace自己查看。)

sysctl -p

从文件/etc/sysctl.conf(默认值)或之后指定的任何文件加载设置-p

两种方法之间的区别在于它们所写入的参数和值的不同来源,-w只是在下一次重新引导之前才更改参数,而存储的值将在/etc/sysctl.conf每次系统启动时再次应用。我通常的方法是使用-w来测试值,然后在确定新设置确定后,将它们写入(/etc/sysctl.conf/etc/sysctl.d通常在/etc/sysctl.d/local.conf)下的文件中。

有关详细信息,请参见sysctlsysctl.conf手册页(man sysctl以及man sysctl.conf系统上)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.