![lsofの大容量(削除された)ファイルに興味があるべきですか? [コピー]](https://linux33.com/image/73604/lsof%E3%81%AE%E5%A4%A7%E5%AE%B9%E9%87%8F%EF%BC%88%E5%89%8A%E9%99%A4%E3%81%95%E3%82%8C%E3%81%9F%EF%BC%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E8%88%88%E5%91%B3%E3%81%8C%E3%81%82%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
/opt
私たちはマウントのいくつかのスペースを整理する作業を進めてきました。スペース消費の最大の原因は、私たちが実行しているいくつかのプロセスのログファイルです(プロセスあたり約2〜12 GB)。
私たちはそれらをカットして整理します。しかし、これは私たちの出力を歪めるようですdf -H
。
/dev/mapper/Sys-opt 76G 72G 0 100% /opt
このディレクトリで実行すると、du -sh *
サイズは合計されません。実行中に削除したファイルの多くが最後にlsof | grep log
まだ表示されることがわかりました。(deleted)
私の質問は、(a)私がこれに興味を持っている必要があるかどうかです。 (b)df -H
ボックス/これらのプロセスを再開せずに正常に戻る方法はありますか?プロセスを再起動すると問題は解決しますか?
答え1
Unixは参照カウントを使用して、ファイルが使用中であるか、データを削除/再利用できるかどうかを確認します。
開いたファイルハンドルは参照とみなされ、閉じるまでスペースが埋められます。開いたファイルハンドルを使用してプロセスを再開すると、ファイルハンドルが閉じられ、ディレクトリ構造から削除された場合、参照数がゼロに下がると消えます。
はい。プロセスを再起動すると、ファイルは消えます。
これは、デーモンのロギングが冗長すぎると発生する可能性があります。善意の誰かがいくつかの整理をしたにもかかわらず、まだログファイルに書き込んでいます。