私は突然問題に直面しています。すべてのアプリケーションとサーバーが正常に動作しており、突然開いているファイルの数が急増するのがわかります。
このコマンドで確認しています:
cat /proc/sys/fs/file-nr
これで確認すると、が表示される44544 0 128000
ため、44544が開いているファイルの数です。
しかし、このコマンドで確認するとlsof | wc -l
-28384と表示されます。
どちらが正しいですか?
私の最大オープンファイル制限は65535です
ulimit -a
open files (-n) 65535
開いているファイルを多く使用している上位5つのプロセスを知りたい。私はこれを取得できますlsof
が、ここに示されているカウントは、前述した他のコマンドとは非常に異なります。
このコマンドでカウントされたプロセスの詳細を取得できますcat /proc/sys/fs/file-nr
か?
以下のリンクによると、オープンファイル記述子を表示する方法はありますが、lsofコマンドを使用しないことはできません
回避策はありますか?開いているファイルが突然使用されるようになったプロセスを見つける必要があります。
更新おめでとう ございます。私がやっていた間違いを見つけましたlsof | wc -lをルートからチェックしていませんでした。それが大きな違いを見た理由です。
ファイル-nrとlsofの出力にはまだ違いがあります| wc -l(ルートから)。lsofカウントはfile -nr countを超えています。この理由は、ファイル-nrがディレクトリの一部(lsofによってファイルと見なされる)を無視するためです。この理由は、Google自体についてのちょっとした調査で見つけました。いずれかの方法!すべての助けに感謝します!
lsof | wc -l
、実際に負の数を示しますか?