ディスク容量がいっぱいの場所をリアルタイムで識別

ディスク容量がいっぱいの場所をリアルタイムで識別

5TB RAIDボリュームをマウントしましたが、/data常に100%に近かった。現在、99%が満たされているため、68GBを使用できますdu -sh

100%に達するとユーザーが書き込むことができず、時間がかかっても100GB程度の空き容量を確保できるデータを消去します。処理が繰り返される。

/data私の質問は、rootアクセス権を持つ管理者であり、誰がどのような活動がシステム上で活発に作業し、最も多くのデータディスクがいっぱいであるかを理解できるように、以下で最も記録されているフォルダを識別する方法はありますか?

XFS ファイルシステムです。レイアウトは基本的にこれです

/data
/data/Project1/
/data/Project2/
/data/Project_n/
/data/users/
/data/users/x001/
/data/users/x002/
/data/users/x00_n/

最近、どのプロジェクト#またはどのuserx#フォルダが成長したかを探しています。これは/ dataの下のフォルダツリーに入るべき深さです。

答え1

読んで、man lsof次のことをしてみてください

sudo lsof +D / data

答え2

このコマンドは、ディレクトリ内の各ディレクトリのディスク使用量の概要を表示します。/データ/ディレクトリツリー。

# find /data/* -type d -exec du -sh {} \; | sort -hr

このコマンドは、ディレクトリ内の最大10のディレクトリを表示します。/データ/ディレクトリツリー。

# find /data/* -type d -exec du -sh {} \; | sort -hr | head

ファイル表示位置/データ/25M以上のディレクトリツリー

# find /data/ -size +25M -exec ls -l {} \; | sort -nr -k5

答え3

何がディスク容量を使用しているかを確認し、使用中にクリーンアップできる便利なインタラクティブツールですncdu(例:ncurses du)。

Debian/Ubuntu で apt を介してインストールされます(全体ではなくても、ほとんどのディストリビューションリポジトリに存在する必要があります)。

あなたの場合(ユーザーに完全な読み取り権限があると仮定)、次のように実行します。

ncdu /data

スキャンには時間がかかりますが、サイズ順に表示されます。いつでもディレクトリをドリルダウンしてファイル/ディレクトリを削除できます。

関連情報