67

inotifyの監視制限を1024に設定しています(デフォルトは128だと思いますか?)。それにもかかわらず、ヨーマン、ガード、ドロップボックスは常に失敗し、inotifyの制限を引き上げるように教えてくれます。そうする前に、すべての時計を何が消費しているのかを知りたいです(Dropboxにファイルがほとんどありません)。

現在登録されている時計を確認するために、/procまたは/sysの領域、または実行できるツールはありますか?

4

7 に答える 7

21
  1. ウォッチのデフォルトの最大数inotifyは 8192 です。/proc/sys/fs/inotify/max_user_watchesに書き込むことで増やすことができます。現在の値を確認 するために
    使用できます。sysctl fs.inotify.max_user_watches

  2. tail -fOS がinotify最大監視制限を超えているかどうかを確認するために使用します。コマンド
    の内部実装は、このメカニズムを使用してファイルの変更を監視します。 時計を使い果たした場合、次のエラーが発生する可能性が最も高くなります。 tail -finotify
    inotify

    tail: inotify は使用できません。ポーリングに戻ります: 開いているファイルが多すぎます

  3. inotifyどの時計が登録されているかを調べるには、これこれを参照してください。試してみましたが、理想的な結果が得られませんでした。:-(

参照:
https://askubuntu.com/questions/154255/how-can-i-tell-if-i-am-out-of-inotify-watches
https://unix.stackexchange.com/questions/15509/whos -using-my-inotify-resources
https://bbs.archlinux.org/viewtopic.php?pid=1340049

于 2013-12-03T15:34:02.523 に答える
4

次の端末コマンドは、Ubuntu 16.04 マシンで完全に機能しました。

for foo in /proc/\*/fd/*; do readlink -f $foo; done | grep '^/proc/.*inotify' |cut -d/ -f3 |xargs -I '{}' -- ps --no-headers -o '%p %U %a' -p '{}' |uniq -c |sort -n

私の問題は、HDDの大部分がSublime Textのフォルダーとしてロードされていたことです。との間/opt/sublime_text/plugin_host 8992/opt/sublime_text/sublime_text、Sublime には 18 の inotify インスタンスがありましたが、残りのプログラムはすべて 1 ~ 3 でした。

Ionic モバイル アプリの開発を行っていたので、Sublime 設定の無視リストに大きな Node.js フォルダー「node_modules」を追加して、インスタンス数を 5 減らしました。

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]

ソース: https://github.com/SublimeTextIssues/Core/issues/1195

于 2017-09-07T21:28:42.247 に答える
4

おもう

sudo ls -l /proc/*/fd/* | grep notify

役に立つかもしれません。inotify fd が登録されている pid のリストが表示されます。

これ以上の情報を得る方法がわかりません!HTH

于 2013-12-03T15:39:42.833 に答える