たとえば、ファイルシステム全体だけでなく、時間の経過とともにディスク容量を追跡して、歴史的にどのディレクトリツリーが増えて減ったかを簡単に確認できる一般的なLinuxツールはありますか?この問題は、キャッシュとtmpファイル、ログなどを定期的にクリーンアップするにもかかわらず、空き領域が常にゼロに達しているように見えるサーバーで発生します。私は低い透かしに達したときに、特定のサイズ/タイプ以上の古いファイルを見つけるために定期的およびスケジュールされたタスクなどのdf
ツールdu
を使用しました。lsof
at
Debian/Ubuntu パッケージを好む。
答え1
このようなツールの作成に問題がある可能性があるいくつかの点があります。
- カーネルはディレクトリまたはファイルごとのファイルサイズの記録(メモリ使用量、I / Oアクティビティ、またはCPU時間など)を保持しないため、記録された内容はすべてユーザースペースに配置する必要があります。
- inotifyなどを使用して何かを作成しても、忙しいサーバーでは、ファイルが変更されるたびに「du -s」出力を記録するユーザースペースデーモンのオーバーヘッドがかなりの場合があります。あまり忙しいサーバーでは、おそらくこの問題は発生しません。そのため、ツールを管理するのに費用がかかることができない人にのみツールが役に立つ状況が発生します。
- ZabbixやNagiosなどのネットワーク監視デーモンには、これに関連してほとんどの管理者要件を満たすいくつかの生ディスク使用状況監視(フルファイルシステム)と履歴が含まれています。それ以上の必要性は通常、問題のファイルシステムに入った場所を中断/修正し、何がスペースを占めているかを確認することです(可能な問題に対する事前警告のためにネットワーク監視を使用してください)。
- これについて本当に知っておく必要があり、問題が再び発生したときに警告するアクティブな警告を待つことが(確認できるように)選択肢でない場合は、最終的には興味のあるディレクトリを監視するスクリプトを作成できます。 (デフォルトでは、「find /path/to/dir -type d -exec du -sh {}\;」の出力を何とか見やすくするために記録します。)
したがって、これを行うためのユーザースペースツールを実際に作成する必要はありません。正しく実行するのが難しく、既存のソリューションを使用すると理想に非常に近いためです。
短い答え:私はそのようなツールを知らないが、それが存在しないことは合理的です。