我不明白设置的最佳fs.inotify.max_user_watches
方式sysctl
。事实上,除了我需要设置特定进程可以观看的文件数量这一事实之外,我对这里发生的事情并不了解。
我相信我可以通过运行以下命令来查看最大用户数:
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
.
sysctl -w
将内核参数值写入以下对应的键/proc/sys
:写入.
12288
_/proc/sys/fs/inotify/max_user_watches
(不是等价的,就是这样的,有兴趣的读者可以strace
自己看看。)从文件
/etc/sysctl.conf
(默认)或 . 之后指定的任何文件加载设置-p
。两种方法之间的区别,除了它们写入的参数和值的不同来源之外,
-w
仅在下次重新启动之前更改参数,而存储的值将在/etc/sysctl.conf
每次系统启动时再次应用。我通常的方法是使用-w
测试值,然后一旦我确定新设置没问题,将它们写入(通常)/etc/sysctl.conf
下的文件或文件。/etc/sysctl.d
/etc/sysctl.d/local.conf
sysctl
有关详细信息,请参阅sysctl.conf
手册页(man sysctl
以及man sysctl.conf
您的系统上的)。查看使用的 inotify 计数。