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ですか?

上記で概説した2つのアプローチのどちらが最適ですか?524288と12288は異なる数値であることは理解していますが、実行-pとの効果の違いがわかりません-w

回答:


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)下のファイルに書き込みます。

詳細については、sysctlおよびsysctl.confman sysctlおよびman sysctl.confシステムの)マニュアルページを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.