【Linux】 ディスク使用量の表示(df / du / ncdu)

Linuxシステムでは、ストレージの管理に役立ついくつかのツールが提供されています。この記事では、ディスクの使用状況を確認することができるコマンド(df コマンド、du コマンド、NCurses Disk Usage ユーティリティ (ncdu) )を確認します。
スポンサーリンク

dfコマンドの概要

df “は “disk free “の略で、システム上にマウントされているすべてのファイルシステムのディスクスペースの使用状況を確認できます。これには、空き容量と使用容量、そしてファイルシステムの総容量が含まれます。
下記は、Linuxシステムでdf -hコマンドを実行した結果で、ファイルシステムのディスク使用量に関する情報が表示されます。-hオプションを使うと、より人間が読みやすい出力形式で表示されます。
$ df -h

カラムの意味は下記となります。
  • ファイルシステム(Filesystem):ファイルシステム名を表示
  • サイズ(Size):ファイルシステムの総サイズを表示
  • 使用量(Used):ファイルシステムが現在使用しているディスク容量を表示
  • 残量(Avail):ファイルシステムで残り利用可能なディスク容量を表示
  • 使用率(Use%):ファイルシステムのディスク使用率を表示
  • マウント先(Mounted on):ファイルシステムのマウントポイントを表示
システムのメインファイルシステムである「/dev/mapper/ubuntu–vg-ubuntu–lv」の場合、総サイズは12GB、そのうち4.8GBが現在使用中で、5.9GBが空き、使用可能ディスク容量の45%を使用してることがわかります。
–total」オプションを付けると、空き容量など、合計値もあわせて表示してくれます。
$ df -h –total

ストレージ・ボリュームにまだ十分な空き容量があるように見えても、満杯になったように見えることがあります。Linuxでは、保存する実際のデータに制限があるだけでなく、所有者、アクセス権、ファイルタイプなどのメタデータを保存するために使用するinodeの数にも制限があります。inodeはデータベースのオブジェクトのようなもので、inodeの制限を超えると、追加のデータを保存できなくなります。
inodeカウントを確認するには、「df」コマンドで「-i」オプションを使用します。
$ df -i

  • Inodes: 各ファイルシステムで使用可能なinodeの総数
  • IUsed:現在使用中のinodeの数
  • IFree:空きinodeの数
  • IUse%:inodeの使用率
/dev/mapper/ubuntu–vg-ubuntu–lv」の場合、合計753,664個のinodeが使用でき、そのうち、現在81,448個のinodeが使用されており、672,216個のinodeが空いています。inode使用率は11%で、まだまだ余裕があります。
スポンサーリンク

duコマンドの概要

duコマンドは「disk usage」の略で、ディレクトリとそのサブディレクトリが使用しているディスク容量を確認するために使用されます。ファイルシステム全体の情報を表示するdfコマンドとは異なり、duコマンドは特定のディレクトリの情報を表示することができます。
「du」のあと、確認したいディレクトリの名前を入力します。すると、そのディレクトリとサブディレクトリが使用しているディスク容量がキロバイト単位で表示されます。「du」コマンドは、実行するユーザーが権限を持っているディレクトリしかスキャンできないため、sudoを付けて、実行することが多いです。
$ sudo du /var/log

-hオプションを使うと、より人間が読みやすい出力形式で表示されます。ディスク使用量をキロバイト、メガバイト、ギガバイトなど、わかりやすく表示してくれます。
$ sudo du -h /var/log

-sオプション(「summarize」の略)を使うと、duコマンドは、サブディレクトリの使用量を一覧表示せずに、ディレクトリの総ディスク使用量のみを表示します。
$ sudo du -hs /var/log

このように、duコマンドは、どのディレクトリやサブディレクトリがディスク容量を消費しているか確認することができます。
また、sortコマンドをduと組み合わせて使うことで、ディスク使用量の多いものから少ないものへと順番にディレクトリを出力することができます。
例えば、/var/logディレクトリ内のディレクトリをディスク使用量の多い順に並べるには、次のコマンドを使用します:
$ sudo du -sh /var/log/* | sort -hr

スポンサーリンク

NCurses Disk Usage (ncdu) の概要

もう 1 つ便利なツールがNCurses Disk Usage (ncdu)です。ディスクの使用状況を視覚的に表示することができます。
ncduは、直感的に使いやすく、カーソルを移動させることで、サブディレクトリを掘り下げて、どのファイルが最もスペースを取っているかを特定することができます。
今回使用しているUbuntuには、ncduがデフォルトで付属されていないため、インストールします。
$ sudo apt install ncdu

ルートディレクトリに移動して、「ncdu」を実行すると、ルートディレクトリ配下のディスク使用量を視覚的に表示してくれます。

上のスクリーンショットでは、/usrにカーソルが当たっています。例えば、/var配下のディレクトリについて、確認したい場合は、カーソルを/varまで移動させ、「Enter」を押すことで、確認できます。

Enter」を押します。

また、「」を押すことで、ヘルプが表示されます。直接ファイルを削除するオプションなども用意されていて、このツールから空き容量を確保することができます。

ツールを終了する場合は、「q」を入力します。
ディスク使用量を効率的に管理するためには、以上のようなツールを使い、ストレージを定期的に監視し、不要なファイルの削除、データの圧縮、必要に応じてより大きなストレージデバイスへのデータ移動など、対策することが重要となります。

コメント