Linux dfコマンド完全ガイド!初心者から上級者まで使えるディスク容量確認の基礎、オプション解説、現場での活用事例を徹底解説

最終更新日 2025年1月19日

dfコマンド
使い方
現場利用例で解説!
スポンサーリンク

Linuxのdfコマンドとは?

まず初めにdfコマンドについてざっくり理解しましょう。
本章では以下の2つを解説します。

  1. dfコマンドの概要
  2. 他の類似コマンド(duコマンド)との違い

まず概要を抑え、他のコマンドの違い理解して、dfコマンドにいて大枠を理解しましょう!

Centosにおけるdfコマンドの出力例
Centosにおけるdfコマンドの出力例

dfコマンドの概要

dfコマンドは、LinuxやUnix系OSで使用されるシステム管理用コマンドの一つで、ディスクの使用状況を確認するためのツールです。dfは「Disk Free(ディスクの空き容量)」を意味しており、指定されたファイルシステムやマウントポイントのディスク容量に関する情報を表示します。

このコマンドを使えば、システムのディスクがどれだけ使用され、どれだけ空きがあるのかを一目で把握できます。

dfコマンドの主な目的は、ディスク容量の「空き」「使用済み」「合計」を確認することです。
主に以下のようなシーンで役立ちます。

  • サーバーのディスク容量不足を防ぐための監視
    • サーバーが正常に動作するためには、十分なディスク容量が必要です。容量不足になると、ログの書き込みやアプリケーションの動作に支障をきたす可能性があります。
  • バックアップやアップデート前のディスクチェック
    • 大量のデータ移動やシステムアップデートを行う前に、十分な空き容量があるか確認することで、予期せぬエラーを防ぎます。
  • 問題の特定とトラブルシューティング
    • ディスクが突然いっぱいになった場合、その原因を迅速に特定するために使用されます。
はじめに Linuxのdfコマンドとは?
dfコマンドはディスクの使用状況を把握するのに重要なツールで、システム管理の基本です。
dfコマンドの概要
dfコマンドは"Disk Free"の略で、LinuxやUnix系OSにおいてディスクの空き容量や使用状況を表示するための重要なコマンドです。
重要性
ディスク容量管理はシステム運用に欠かせない作業であり、dfコマンドを用いることで効率的な監視とトラブルシューティングが可能です。
Linuxのdfコマンドとは?
スポンサーリンク

他の類似コマンド(duコマンド)との違い

dfコマンドとよく比較されるコマンドに、duコマンド(Disk Usage)があります。
これらのコマンドは似ていますが、用途が異なります。

コマンド主な用途出力内容の違い
dfディスク全体の使用状況を確認ファイルシステムごとの空き容量や使用量を表示
duファイルやディレクトリごとの使用量を確認個別のファイルやディレクトリのサイズを表示
先輩エンジニア
先輩エンジニア

例えば、システム全体のディスク容量を知りたい場合はdfを使い、特定のフォルダやファイルがどれだけディスクを消費しているかを知りたい場合にはduを使います。

新人エンジニア
新人エンジニア

目的と違いを理解することで、目的に応じた正しいコマンドを選択できますね。

他の類似コマンド(duなど)との違い
dfコマンドとduコマンドは用途が異なります。用途ごとに適切なコマンドを使い分けてシステムを効率的に運用しましょう。
dfコマンドの用途
dfコマンドはシステム全体のディスク使用状況を確認するために使用します。ファイルシステムごとの空き容量、全体サイズ、使用済み容量を簡単に確認できます。
duコマンドの用途
duコマンドはファイルやディレクトリ単位での使用容量を確認するために使用します。特定のファイルやディレクトリがどれほどのディスクを消費しているかを見つける際に便利です。
どちらを選ぶべきか?
システム全体のディスク容量状態を確認したいならdf、特定のファイルやディレクトリの容量を確認したいならduを使います。用途に応じて使い分けることが重要です。
他の類似コマンド(duなど)との違い
スポンサーリンク

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

次はdfコマンドの基本的な使い方について解説します。
本章で解説する内容は以下です。

  1. dfコマンドの構文と基本形
  2. オプション無しの出力例
  3. 出力結果のステータスの見方の詳細
先輩エンジニア
先輩エンジニア

まずは基本的な構文とdfコマンド利用時の出力結果の見方について確認しましょう!

dfコマンドの構文と基本形

dfコマンドは、以下の形式で使用します。

df [オプション] [ターゲット]

[オプション]
表示形式や内容を変更するためのオプションを指定します(オプションを省略するとデフォルトの出力になります)。

[ターゲット]
ディスク容量を確認したいディレクトリやファイルシステムのマウントポイントを指定します(省略すると全てのマウントポイントの情報が表示されます)。

たとえば、以下のようにコマンドを実行することが可能です。

dfコマンドのみ(オプション無し)を実行
全てのマウントポイントのディスク情報を表示。

特定のパーティションやディレクトリを指定
df /home /homeディレクトリが属するファイルシステムのディスク情報だけを表示。

Centosにおけるdf(オプション無し)コマンドとdf /homeコマンド利用時の出力結果の比較
Centosにおけるdf(オプション無し)コマンドとdf /homeコマンド利用時の出力結果の比較
スポンサーリンク

オプション無しの出力例

オプションなしでdfを実行した場合の出力結果を見てみましょう。
オプション無しでdfコマンドを実行した時は以下のような形式で出力されます。

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       10240000  520000   4940000  51% /
/dev/sda2        5120000  100000   5020000   2% /home

上記の出力例における各ステータスの意味は以下です。

項目説明
Filesystemファイルシステムのデバイス名(例:/dev/sda1)。
1K-blocksディスク全体のサイズ(1Kブロック単位)。
Used使用済みのディスク容量(1Kブロック単位)。
Available空き容量(1Kブロック単位)。
Use%使用率(パーセント表示)。
Mounted onファイルシステムがマウントされているディレクトリ(マウントポイント)。
dfコマンドの出力結果でこれだけは知っておきたいステータス
Filesystem
ファイルシステムの名前を表す
Used
使用されているディスク容量を示す
Available
利用可能なディスク容量を示す
dfコマンドの出力結果でこれだけは知っておきたいステータス
スポンサーリンク

出力結果のステータスの見方の詳細

上記でザックリ解説しましたが、dfコマンドのデフォルト出力では、確認できる情報について詳細に説明します。

  • ファイルシステム(Filesystem)
    • ディスク容量を提供しているファイルシステム名(物理デバイス名)が表示されます。例えば、/dev/sda1は物理ディスクのパーティションを指しています。
  • ディスクサイズ(1K-blocks)
    • デフォルトでは1K(1024バイト)単位でディスク容量が表示されます。サイズをもっとわかりやすい単位(MBやGBなど)で表示する場合は、後述するオプションを使います。
  • 使用済み容量(Used)
    • ディスク内で使用されている容量です。
  • 空き容量(Available)
    • 現在利用可能な空き容量です。システムの運用やデータ保存のために、この値がどれくらい残っているかを定期的にチェックするのが重要です。
  • 使用率(Use%)
    • ディスク全体に対する使用済み容量の割合です。一般的には、90%以上になるとディスク容量不足が懸念されるため注意が必要です。
  • マウントポイント(Mounted on)
    • ファイルシステムが使用されている場所(ディレクトリ)を示します。例えば、/はルートファイルシステム、/homeはユーザーディレクトリを指します。
dfコマンドの基本のまとめ
dfコマンドの基本形や出力例、デフォルト出力で確認できる情報を理解し、状況に応じて使いこなす。
基本の構文
dfコマンドは、ディスクの使用状況を確認する基本ツールです。基本の構文は「df [オプション] [ターゲット]」となります。
オプション無の
出力例
ターミナルで「df」のみ入力した場合、全てのマウントポイントのディスク情報が表示されます。このデフォルト出力でディスクの使用状況が確認できます。
出力項目
出力項目にはファイルシステム、ディスクサイズ、使用済み容量、空き容量、使用率、マウントポイントがあります。
dfコマンドの基本のまとめ

次のセクションでは、dfコマンドをさらに便利に活用するためのオプションについて詳しく解説します!

スポンサーリンク

dfコマンドでよく使用するオプションと出力結果の見方

dfコマンドは、さまざまなオプションを活用することで、表示内容をカスタマイズしたり、必要な情報を効率よく取得することができます。
このセクションでは、よく使われるオプションとその意味を詳しく解説し、実際の使用例を交えながら分かりやすく説明します。

  1. -hオプション 人間にわかりやすい単位で表示
  2. -Tオプション ファイルシステムの種類を表示
  3. -iオプション iノードの使用状況を表示
  4. –totalオプション 全体の合計を表示
  5. -aオプション 全てのファイルシステムを表示
  6. その他の便利なオプション
  7. 現場でよく使うオプションの組み合わせ

-hオプション 人間にわかりやすい単位で表示

デフォルトでは、dfコマンドの出力は1K(1024バイト)単位で表示されますが、このオプションを使うと、容量をKB(キロバイト)、MB(メガバイト)、GB(ギガバイト)といった人間が理解しやすい単位で表示します。

使用例 

df -h

出力結果

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 5.0G 4.9G 51% /

新人エンジニア
新人エンジニア

上記の出力結果はどのような状態を表しているんですか?

先輩エンジニア
先輩エンジニア

この出力結果は、/dev/sda1というファイルシステム(ディスクパーティション)のディスク使用状況を示しています。Sizeが10GBのうち、Usedは5.0GB(使用済み)、Availは4.9GB(空き容量)、Use%は51%(使用率)となっています。
また、このファイルシステムは、Linuxシステムのルートディレクトリ(/)にマウントされていることを表して言います。

新人エンジニア
新人エンジニア

実際にこの結果を見るときにどのような観点で確認すればいいですか?

先輩エンジニア
先輩エンジニア

現在の使用率は51%と比較的余裕がありますが、一般的に80%を超えると注意が必要であり、90%を超えるとディスク容量不足によるシステムトラブルのリスクが高まります。そのため、定期的にdf -hを実行し、ディスクの使用状況を監視することが重要です。

もし空き容量が減ってきた場合は、duコマンドを使用してどのディレクトリが容量を圧迫しているかを特定し、不要なファイルを削除する、ログを整理する、古いバックアップを削除するなどの対策を講じる必要があります。また、圧縮ツール(targzip)を活用してファイルサイズを減らすことも有効です。

Centosにおけるdf -h コマンドの実際の出力結果
Centosにおけるdf -h コマンドの実際の出力結果
スポンサーリンク

-Tオプション ファイルシステムの種類を表示

ファイルシステム(例:ext4、xfs、tmpfsなど)の種類を表示します。特に異なるファイルシステムが混在しているシステムで便利です。

使用例

df -T

出力結果

Filesystem Type 1K-blocks Used Available Use% Mounted on 
/dev/sda1 ext4 10240000 520000 4940000 51% / tmpfs 
tmpfs 1024000 0 1024000 0% /run
新人エンジニア
新人エンジニア

上記の出力結果はどのような状態を表しているんですか?

先輩エンジニア
先輩エンジニア

このdfコマンドの出力結果は、/dev/sda1tmpfsの2つのファイルシステムのディスク使用状況を示しています。

まず、/dev/sda1ext4形式のファイルシステムで、総容量が10,240,000KB(約10GB)のうち、520,000KB(約0.5GB)が使用済みで、4,940,000KB(約4.9GB)が空き容量として残っています。使用率(Use%)は51%であり、このファイルシステムはルートディレクトリ(/)にマウントされています。現在は十分な空き容量がありますが、使用率が80%を超えたら注意し、90%を超えたら対策(不要ファイルの削除やディスク拡張など)が必要になります。

新人エンジニア
新人エンジニア

そうなんですね。tmpfsはどのような状態なんですか?

先輩エンジニア
先輩エンジニア

tmpfstmpfs形式の仮想ファイルシステムで、総容量は1,024,000KB(約1GB)ですが、現在は使用容量が0KBであり、すべての容量が空きとなっています。このファイルシステムは/runディレクトリにマウントされており、一時的なデータを保持するために使用されます。補足ですが、tmpfsは物理ディスクではなくメモリ上に展開されるため、リブートすると内容が消えるという特徴があります。

Centosにおけるdf -T コマンドの実際の出力結果
Centosにおけるdf -T コマンドの実際の出力結果
スポンサーリンク

-iオプション iノードの使用状況を表示

ファイルシステムに割り当てられているiノードの使用状況を確認します。iノードはファイルシステムの管理構造で、ファイルやディレクトリごとに1つ割り当てられています。この値が不足するとディスクに空き容量があっても新しいファイルを作成できなくなります。

使用例

df -i

出力結果

Filesystem Inodes IUsed IFree IUse% Mounted on 
/dev/sda1 655360 10240 645120 2% /
新人エンジニア
新人エンジニア

そもそもiノードって何なんですか?

先輩エンジニア
先輩エンジニア

iノードとは、ファイルやディレクトリを管理するための情報を保持するデータ構造で、1つのファイルまたはディレクトリごとに1つのiノードが割り当てられます。ディスクの空き容量が十分にあっても、iノードが枯渇すると新しいファイルを作成できなくなるため、特にシステム管理において重要な指標の一つです。

今回の出力結果を見ると、/dev/sda1には655,360個のiノードが割り当てられており、そのうち10,240個(2%)が使用されていることがわかります。残りのiノードは645,120個と十分に確保されており、現時点ではiノード不足の心配はありません。また、このファイルシステムはルートディレクトリ(/)にマウントされているため、Linuxシステムの基盤となる領域の管理において、この値を定期的に確認することが重要です。

新人エンジニア
新人エンジニア

そうなんですね。iノードが枯渇するとどのようなことが起こるんですか?

先輩エンジニア
先輩エンジニア

通常はiノードの使用率が低いまま推移することが多いですが、大量の小さなファイル(ログファイルやキャッシュファイルなど)が生成される環境では、ディスクの空き容量が十分に残っていても、iノードが先に枯渇し、新しいファイルが作成できなくなることがあります。この状態になると、「No space left on device」 というエラーが発生し、システムに深刻な影響を及ぼす可能性があります。

新人エンジニア
新人エンジニア

それは怖いですね。どのように対策すればいいのですか?

先輩エンジニア
先輩エンジニア

iノードの使用状況を定期的に監視し、必要に応じて不要な小さなファイルを削除することとよいです。例えば、findコマンドを使用して1KB未満の小さいファイルを削除したり、ログファイルのローテーションを適切に設定したりすることで、無駄なiノードの消費を抑えることができます。また、圧縮ツール(tarやgzip)を利用して、小さなファイルを1つのアーカイブにまとめるのも有効な対策です。

現在のiノード使用率(2%)では問題はありませんが、使用率が80%を超えると警戒し、90%を超えた場合は早急な対応が必要です。df -hコマンドでディスク容量と併せて監視し、定期的なメンテナンスを行うことで、Linuxシステムの安定運用を維持しましょう。

Centosにおけるdf -i コマンドの実際の出力結果
Centosにおけるdf -i コマンドの実際の出力結果
スポンサーリンク

--totalオプション 全体の合計を表示

マウントされている全てのファイルシステムの合計使用量を表示します。システム全体のディスク容量を把握したいときに便利です。

使用例

df -h --total

出力結果

Filesystem Size Used Avail Use% Mounted on 
/dev/sda1 10G 5.0G 4.9G 51% / 
tmpfs 1.0G 0 1.0G 0% /run 
total 11G 5.0G 5.9G 46%
新人エンジニア
新人エンジニア

上記の出力結果はどのような状況なのか教えてください!

先輩エンジニア
先輩エンジニア

まず、/dev/sda1は物理ディスク上のext4ファイルシステムで、総容量は10GB、そのうち5.0GBが使用中で、4.9GBの空き容量があります。使用率は51%であり、ルートディレクトリ(/)にマウントされています。現在は十分な空き容量がありますが、一般的に使用率が80%を超えると注意が必要で、90%を超えると容量不足によるシステムトラブルの可能性が高まります。定期的に監視し、不要なファイルの削除やディスク拡張を検討することが重要です。

新人エンジニア
新人エンジニア

他のファイルシステムはどうなんですか?

先輩エンジニア
先輩エンジニア

tmpfsは仮想メモリファイルシステムで、物理ディスクではなくRAM上に展開される一時的なストレージです。このtmpfsは1.0GBの容量を持っていますが、現在は使用されておらず、空き容量が1.0GBのままです。/runディレクトリにマウントされており、システムの一時データを保存するために利用されます。tmpfsの特徴として、システムを再起動するとデータが消えるため、ディスク容量の管理とは別に考える必要があります。

新人エンジニア
新人エンジニア

そうなんですね。最後に表示されているtotalというのは何なんですか?

先輩エンジニア
先輩エンジニア

この出力の最後に表示されるtotalは、すべてのファイルシステムを合計した値を示しています。ここでは、/dev/sda1tmpfsを合計し、総容量は11GB、使用済み容量は5.0GB、空き容量は5.9GB、使用率は46%と表示されています。
ただし、tmpfsは実際にはメモリを使用しているため、物理ディスクの容量管理では/dev/sda1のような物理ストレージを優先的に監視する方がよいでしょう。

Centosにおけるdf -h --totalコマンドの実際の出力結果
Centosにおけるdf -h --totalコマンドの実際の出力結果
スポンサーリンク

-aオプション 全てのファイルシステムを表示

通常、dfコマンドは物理デバイスに対応するファイルシステムのみを表示しますが、このオプションを使うと、仮想ファイルシステム(例:procsysfs)も含めて全てのファイルシステムが表示されます。

使用例

df -a

出力結果

Filesystem        1K-blocks   Used Available Use% Mounted on
/dev/sda1         10240000  520000   4940000  51% /
proc                     0       0         0    -  /proc
sysfs                    0       0         0    -  /sys
devtmpfs            512000       0    512000   0% /dev
tmpfs              1024000       0   1024000   0% /run
devpts                   0       0         0    -  /dev/pts
tmpfs              5120000       0   5120000   0% /dev/shm
tmpfs              5120000       0   5120000   0% /run/user/1000
Centosにおけるdf -aコマンドの実際の出力結果
Centosにおけるdf -aコマンドの実際の出力結果
スポンサーリンク

その他の便利なオプション

-Pオプション 
出力を1行あたり80文字以内に制限(スクリプトでの利用に適している)。

Centosにおけるdf -Pコマンドの実際の出力結果
Centosにおけるdf -Pコマンドの実際の出力結果

-lオプション
ローカルファイルシステムのみを表示(リモートマウントは除外)。

Centosにおけるdf -lコマンドの実際の出力結果
Centosにおけるdf -lコマンドの実際の出力結果

--exclude-type=[ファイルシステムタイプ]
特定のファイルシステムを除外して表示。
例) tmpfsを除外するコマンド 

df -h --exclude-type=tmpfs
Centosにおけるdf -h --exclude-type=tmpfsコマンドの実際の出力結果
Centosにおけるdf -h --exclude-type=tmpfsコマンドの実際の出力結果
スポンサーリンク

現場でよく使うオプションの組み合わせ

実際に現場でよく利用するオプションの組み合わせを下記にまとめました。
記載の5つの使用例は現場で利用するので把握しておいた方が良いと思います。

使用例使用目的
df -hディスク容量を直感的に把握したい時に使用。通常、dfコマンドの出力は1Kブロック単位で表示されるため、MB(メガバイト)やGB(ギガバイト)単位で見たい場合に便利。サーバーやPCのストレージ使用状況を素早く確認する際に役立つ。
df -T /home/homeディレクトリが属するファイルシステムの種類を確認したい時に使用。ディスクの種類(ext4、xfs、tmpfs など)を特定し、適切な管理や設定を行うのに役立つ。また、特定のディレクトリのディスク使用状況を確認する際にも便利。
df -h -iディスクの空き容量だけでなく、iノードの使用状況もチェックしたい時に使用。小さなファイルが大量にある環境では、iノードが枯渇するとディスクの空き容量があっても新しいファイルを作成できなくなるため、容量とiノードを同時に監視するのが有効。
df -h --totalシステム全体のディスク使用量を合計して総容量・使用量・空き容量を一目で把握したい時に使用。サーバーの管理や監視において、複数のマウントポイントがある場合に総計を確認するのに役立つ。
df -Pスクリプトや自動処理で解析しやすい形式でディスク情報を取得したい時に使用。通常のdf出力は可変長で折り返しが発生することがあるが、-Pオプションを使うと1行80文字以内の固定フォーマットで出力され、プログラムやスクリプトで扱いやすくなる。
現場でよく使うオプションの組み合わせ
dfコマンドの便利なオプションを組み合わせてディスク管理を効率化
容量の把握
df -hで理解しやすい表示に
ファイルシステムチェック
df -Tでファイルシステムの種類確認
iノード監視
df -i -hでiノードと容量を同時確認
現場でよく使うオプションの組み合わせ
スポンサーリンク

dfコマンドの出力結果の見方を徹底解説

dfコマンドを使って出力される結果を正確に理解することで、ディスクの使用状況をより効果的に把握できます。このセクションでは、出力される項目の意味や注意点、そしてディスク容量不足を早期に発見するためのポイントを詳しく解説します。

本セクションで解説する内容は以下です。

  1. 出力される項目の説明
  2. 出力結果を読み解く際の注意点
  3. ディスク容量不足時の兆候を見つけるポイント

出力される項目の説明

以下は、dfコマンドを実行した際の標準的な出力例です。

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1       10240000  520000   4940000  51% /
/dev/sda2        5120000  100000   5020000   2% /home

それぞれの列が何を意味しているのか、順を追って解説します。

項目説明
Filesystem(ファイルシステム名)ファイルシステムが使用しているデバイス名を示します。
例:/dev/sda1 や /dev/sda2 は物理ディスクデバイスまたはそのパーティションを表し、tmpfs や proc のような仮想ファイルシステムも含まれる場合があります。
Size(総サイズ)ディスク全体の容量を表示します(デフォルトでは1Kブロック単位)。
実際に利用可能な容量だけでなく、ファイルシステム全体の物理サイズが含まれます。
Used(使用済み容量)現在使用されているディスク容量を示します。
実行中のプロセスによって保持されている一時ファイルもこの値に含まれる場合があります。
Available(空き容量)現在利用可能な空き容量を表示します。
この値は、すべてのユーザーが利用可能な容量を示しており、管理者用に予約されている容量(通常5%程度)は含まれていないため、実際の物理空き容量はさらに多い場合があります。
Use%(使用率)ディスク全体の容量に対する使用済み容量の割合をパーセントで表示します。
例:51% の場合、ディスク容量の約半分が使用されていることを意味します。
Mounted on(マウントポイント)ファイルシステムがどのディレクトリにマウントされているかを示します。
例:/ はルートディレクトリ、/home はユーザーのホームディレクトリを指します。
dfコマンドの出力結果の見方のポイント
dfコマンドの出力結果の各項目を正確に理解し、ディスクの状態を把握するための知識を身につけましょう。
Filesystem
Filesystemは、ディスク上の各ファイルシステムのデバイス名を示し、どの物理デバイスやパーティションを指しているのかを確認するための重要な情報です。
サイズと使用量
Sizeはディスク全体の容量、Usedは使用済みの容量、Availableは現在利用可能な空き容量を示します。これらの項目を確認することで、ディスクの使用状況を把握できます。
使用率とマウントポイント
Use%はディスク全体の容量に対する使用済み容量の割合、Mounted onはファイルシステムがマウントされているディレクトリを示します。使用率が90%以上になった際には注意が必要です。
dfコマンドの出力結果の見方のポイント
スポンサーリンク

出力結果を読み解く際の注意点

出力結果を読み解く際の注意点は大きく分けて3つあります。

  • 予約領域
    一部のファイルシステム(特にext4など)では、ディスク容量の5%程度がシステム管理者専用に予約されています。このため、使用率が100%に達していない場合でも、通常ユーザーが利用可能な容量がゼロになることがあります。この予約領域はtune2fsコマンドなどで変更可能ですが、通常はそのままにしておくことが推奨されます。
  • 仮想ファイルシステムの影響
    tmpfsやprocなどの仮想ファイルシステムは、物理的なディスク容量ではなく、メモリを利用します。これらが含まれる場合、実際のディスク容量に影響しないため、出力結果の解釈に注意が必要です。
  • ファイル削除後の使用量変化がない場合
    ファイルを削除しても使用量が減らない場合、削除されたファイルを実行中のプロセスが保持している可能性があります。この場合は、lsofコマンドで保持中のファイルを特定し、プロセスを停止する必要があります。
出力結果を読み解く際の注意点のポイント
dfコマンドの出力を正確に理解するためには、予約領域や仮想ファイルシステムに注意が必要です。
予約領域に注意
一部のファイルシステムではディスク容量の5%程度が予約されています。これにより、通常ユーザーには見えない容量があり、特にシステムが満杯に見える場合に注意が必要です。
仮想ファイルシステムの影響
tmpfsやprocなど仮想ファイルシステムはメモリを利用します。これらが含まれる場合、物理ディスクの容量とは異なるため、出力結果を正しく解釈する必要があります。
ファイル削除後の使用量
ファイルを削除しても使用量が減らない場合、削除されたファイルを実行中のプロセスが保持している可能性があります。この場合は、lsofコマンドで保持中のファイルを特定し、プロセスを停止する必要があります。
出力結果を読み解く際の注意点のポイント
スポンサーリンク

ディスク容量不足時の兆候を見つけるポイント

ディスク容量不足時の兆候を見つけるポイントは大きく分けて4つあります。

  • 使用率(Use%)を定期的に確認する
    • 使用率が90%を超えた場合はディスク容量不足が近い可能性があります。特にサーバー環境では、容量不足がシステム停止やエラーの原因になるため注意が必要です。
  • 空き容量(Available)を監視する
    • 絶対的な空き容量が少なくなっている場合は、不要なファイルを削除するか、ディスクを拡張する必要があります。
  • iノード使用率の確認
    • 小さなファイルが大量に存在する場合、ディスクの空き容量が十分であってもiノードが不足することがあります。この場合、df -iコマンドを使ってiノードの使用状況を確認してください。iノードが不足している場合、不要なファイルやディレクトリを削除して空きを確保します。
  • ログファイルやキャッシュの肥大化
    • システムログやアプリケーションログが増え続けることで容量が圧迫されるケースがあります。これを防ぐために、logrotateなどのツールを使用してログ管理を行うことをおすすめします。

次のセクションでは、dfコマンドを実際の現場でどのように活用するかについて、具体的な事例を交えて解説します!

現場での活用事例 dfコマンドはこう使う!

dfコマンドは、システム運用やトラブルシューティングの現場で幅広く使用されています。
このセクションでは、dfコマンドを使った具体的な活用事例を紹介します。それぞれの事例を参考にすることで、日々の運用や問題解決に役立てることができるでしょう。

今回は下記4つの事例を紹介します。

  1. 事例❶ディスク容量不足の原因を特定する
  2. 事例❷特定のパーティションの容量を確認する
  3. 事例❸定期的なディスク監視スクリプトに組み込む
  4. 事例❹iノード不足の確認
dfコマンドの活用方法
dfコマンドの実際の活用事例を紹介し、現場での効率的なディスク管理方法を学ぶことができます。
ディスク容量不足の原因特定
dfコマンドをオプション-h付きで実行し、使用率や空き容量を直感的に理解できます。容量不足の原因となる大きなファイルやディレクトリを特定するのに便利です。
特定パーティションの容量確認
df /homeのように特定のパーティションやディレクトリを指定して容量を確認できます。これにより、各ディレクトリの使用状況を詳細に把握できます。
定期的な監視スクリプト
シェルスクリプトにdfコマンドを組み込み、定期的にディスク使用量を監視します。スクリプトはcronと併用し、定期的なレポートを出力してディスク容量管理を自動化します。
dfコマンドの活用方法
スポンサーリンク

事例❶ディスク容量不足の原因を特定する

システム運用では、ディスク容量不足が突然発生することがあります。
このような場合、dfコマンドを使えば、どのパーティションが容量不足になっているのかを素早く特定できます。

手順
df -hを実行して、すべてのファイルシステムの使用状況を確認します。

df -h

出力結果の「Use%」列をチェックして、使用率が90%以上のパーティションを探します。

出力例

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 10G 9.8G 200M 98% /

/dev/sda2 50G 20G 30G 40% /home

この例では、/(ルートパーティション)が98%使用されているため、容量不足の原因がこのパーティションにあることがわかります。

次のステップ
問題のパーティションが特定できたら、duコマンドを使って詳細な容量消費の原因を調査しましょう。
例えば下記のコマンドで確認します。

du -h --max-depth=1 /
※ルートディレクトリ(/)直下のフォルダごとのディスク使用量を、人間が読みやすい単位(KB/MB/GB)で表示するコマンドです。
Centosにおけるdu -h --max-depth=1 /コマンドの実際の出力結果
Centosにおけるdu -h --max-depth=1 /コマンドの実際の出力結果
スポンサーリンク

事例❷特定のパーティションの容量を確認する

全体ではなく、特定のディレクトリやマウントポイントのディスク使用状況を知りたい場合に、dfコマンドは非常に便利です。

使用例

df -h /home

ディレクトリに限定して出力されるため、特定のユーザー領域やサービス用ディレクトリの状態を素早く確認できます。

出力例

Filesystem Size Used Avail Use% Mounted on 
/dev/sda2 50G 20G 30G 40% /home 

この結果から、/homeパーティションには30GBの空き容量があることがわかり、十分なスペースが確保されているかを判断できます。

先輩エンジニア
先輩エンジニア

バックアップ前に空き容量を確認したり、大容量データを移動する際のスペース確保の際によく確認コマンドとして使用します。

Centosにおけるdf -h /homeコマンドの実際の出力結果
Centosにおけるdf -h /homeコマンドの実際の出力結果
スポンサーリンク

事例❸定期的なディスク監視スクリプトに組み込む

ディスク容量を定期的に監視するために、dfコマンドをシェルスクリプトに組み込むことが可能です。この方法は、サーバー運用や自動化が必要な現場で役立ちます。

簡単な監視スクリプト例
以下のスクリプトは、ディスク使用率が90%以上のパーティションがある場合に警告を出力します。

#!/bin/bash THRESHOLD=90 df -h | awk '{if ($5 ~ /[0-9]+%/ && int($5) > THRESHOLD) print "Warning: High disk usage on " $6 ", Usage: " $5}'

使い方

①上記のスクリプトをdisk_monitor.shという名前で保存します。
②下記のコマンドで実行権限を付与します。

chmod +x disk_monitor.sh

③下記のコマンドで実行します。

./disk_monitor.sh

このスクリプトを実行すると、ディスク使用率(Use%)が 90%以上 のファイルシステムに対して以下のように警告メッセージを出力します。

Warning: High disk usage on / , Usage: 96%
Warning: High disk usage on /data , Usage: 95%

応用例

このスクリプトをcronに登録すれば、定期的にディスク容量を監視し、問題があれば管理者に通知する仕組みを作ることができます。

例) 毎日朝9時に実行する設定(crontab)

0 9 * * * /path/to/disk_monitor.sh
cronとは
cronとはLinuxのタスクスケジューリングを自動化するツールです。
cronの概要
定期的なタスクの自動実行を助ける
使用例
バックアップやログの定期的な確認に便利
cronについて補足
スポンサーリンク

事例❹iノード不足の確認

ファイルシステムにはiノードと呼ばれる管理単位があり、これが不足するとディスクに空き容量があっても新しいファイルを作成できなくなります。特に、多くの小さなファイルが存在するシステムでは、iノード不足が発生することがあります。

確認例

df -i

出力例

Filesystem Inodes IUsed IFree IUse% Mounted on 
/dev/sda1 655360 655360 0 100% / 
/dev/sda2 131072 10000 121072 8% /home 

この例では、/パーティションのiノードがすべて使用されているため、新しいファイルが作成できない状態です。

対策方法

不要なファイルやディレクトリを削除します。特に、一時ファイルディレクトリ(例:/tmp)やキャッシュディレクトリを確認しましょう。
大量の小さなファイルをまとめて圧縮し、iノードの消費を減らす方法が有効です。

tar -czf archive.tar.gz /path/to/small/files
iノードとは
ファイルシステムの重要な構成要素であるiノードを理解しよう
iノードの役割
ファイル情報を管理するデータ構造です
iノード番号
各ファイルに一意の番号を付けます
iノードについて簡単に説明

この記事も参考になるかも!
この記事を書いた人!

ゴリタン

インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。

CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。