Linuxサーバー容量を確認するコマンドdf,duをマスターする!

スポンサーリンク

Linux サーバーが空き容量不足だったり、容量の大きいディレクトリ・ファイルを突き止める必要がある時には、df コマンドと du コマンドを使います。先日、rmでファイル削除後にdf -hで容量が減らない時の対処(Linux)の作業を行った時に、これらの Linux サーバーの容量を調べるコマンドを使ったので、そのまとめです。

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

df コマンドの使い方

df コマンドは、ファイルシステム(パーティション)ごとのディスク容量を確認できます。まず最初に調査に着手するときには、この df コマンドを使うと良いかと思う。

-h オプションは、容量を適切な単位で表示するためのオプションです。これで、ディスクがどのくらい使われているのか(Used)、またどのくらい空き容量があるのか(Avail)を確認できます。

du コマンドの基本的な使い方

df コマンドでディスク全体の使用量を確認した後は、どのディレクトリの容量が大きいのか、調査を進める必要があります。この時に使うのが du コマンド。du コマンドは、以下のように使って容量を確認します。

ルートパス以下を対象に調査。

カレントディレクトリ以下を対象に調査。

/var ディレクトリ以下を対象に調査。

-h オプションは、容量を適切な単位で表示するためのオプションです。ただし、上記のコマンド実行法ですと、再帰的にディレクトリが表示されてちょっと見にくくなります。

du コマンドで表示するディレクトリ階層を指定

du コマンドで表示するディレクトリ階層を指定するには、–max-depth オプションを使う。以下は、1階層ぶんのディレクトリを表示する例です。

–max-depth に指定した数値の階層分のディレクトリ容量が表示されます。

du コマンドの結果を容量の大きい順にソート

du コマンドで調査した結果を、容量の大きいディレクトリ順にソートするには、パイプで sort コマンドをつなげてやる。

こうすると、容量の大きいディレクトリ順に並んで確認しやすくなります。du と sort を組み合わせる場合、sort コマンドの -n オプションでファイルサイズを数値としてソートさせるために、-h オプションは付けていません。またファイルサイズの降順(大きい順)でソートするために、sort コマンドに -r オプション(逆順にソート)も付けました。

基本的には、この du と sort を組み合わせたこのコマンドで、調査対象のディレクトリを絞り込んでいくことで、容量の大きいディレクトリ・ファイルを突き止めることが可能です。

du コマンドの負荷を抑える

du コマンドを使う場合、ディレクトリを再帰的に調査しますので、ディレクトリやファイルの量が多ければ調査に時間がかかります。またディスクI/Oが発生しますので、負荷がかかります。

ですので、予測が付く場合は、最初から調査対象のディレクトリパスを絞り込む、などを行ったほうが良いかと思います。

のように /var ディレクトリ以下のみを調査の対象にするなど。

あるいは、負荷がかかるのを回避するために、du コマンド実行の前に nice や ionice コマンドを付けて優先度を低くして実行するようにします。

nice コマンドを使う例。

nice コマンドは -n オプションに -20 から 19 の数値を渡せ、-20 が最も優先度が高く、19 がもっとも優先度が低い。ここでは、優先度を低くするために nice コマンドに -n 19 のオプションを渡しています。

または、ionice コマンドを使う。

ionice コマンドは、ディスクI/Oの優先度を指定してコマンドを実行できます。-n オプションで 0 から 7 が指定でき、0 が優先度が最も高く、7 が優先度が最も低い。また、-c オプションで 1(Real Time)、2(Best Effort)、3(Idle)を指定できる。

nice, ionice コマンドの詳細については以下等を参考。
重い処理はniceコマンドを使って安全に実行すべし。 – (゚∀゚)o彡 sasata299’s blog
Linux で実行優先度を指定してコマンドを実行する
Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか – 元RX-7乗りの適当な日々

ls コマンドでファイルサイズ順にソート

du コマンドによる調査が進み調査の最終段階となり、容量の大きいディレクトリを絞り込めてきたら、ls コマンドも併用しました。ls コマンドの -S オプションを使うと、ディレクトリ内のファイルをファイルサイズが大きい順にソートできます。

du コマンドで容量の大きいディレクトリを絞り込み、-S オプション付きの ls コマンドで容量の大きいファイルを探しだす、という作業手順です。以上のように df, du, ls コマンドを使うことで、無事に容量の大きいディレクトリ・ファイルを探しだすことができました!

スポンサーリンク
サーバ構築研究会の CentOS 本は、昔からお世話になっています。Linux の教科書は Linux の基本を学ぶのにおすすめです。
 
スポンサーリンク

Leave Your Message!