Linuxのディスク容量が不足したときの対応方法
ディスク容量を圧迫している原因を特定して、不要なファイルがあるなら削除をおこないます。削除ができない場合はディスクの拡張を行うしかありません。
ディスク容量圧迫の原因を調査するにはdfコマンドとduコマンドを使用します。
dfでディスク使用率確認して、duでファイルを特定します。
Linuxディスク容量調査コマンド
dfコマンド
dfは「disk filesystem」の略でディスクの使用状況を表示するために利用します。マウントポイントも確認することができます。
実行結果
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 50G 20G 30G 40% /
tmpfs tmpfs 1.9G 1.0M 1.9G 1% /dev/shm
/dev/sdb1 xfs 100G 60G 40G 60% /mnt/data
・Filesystem: ディスクのデバイス名やファイルシステムの識別子。
・Type: ファイルシステムの種類。
・Size: ディスクの総容量。
・Used: 使用済み容量。
・Avail: 利用可能な容量。
・Use%: 使用率(パーセンテージ)。
・Mounted on: マウントポイント。
-Thはオプションで以下の意味があります。
オプション | 説明 |
---|---|
-T(type) | ァイルシステムのタイプ(種類)を表示 |
-h(human-readable) | 人間が読みやすい形式で出力(例えば、バイト数をKB、MB、GB単位で表示)。 |
duコマンド
du は "disk usage" の略です。このコマンドを使うと、ディレクトリやファイルがどれだけのディスクスペースを消費しているかを確認できます。
基本構文
du [オプション] [ファイル/ディレクトリ]
duコマンドのオプションは以下のようなものがあります。
オプション | 説明 |
---|---|
-s(summarize)「概要」 | 詳細な情報を省略、合計だけを簡潔に表示 |
-h(human-readable) | 人間に読みやすい形式で出力(サイズをKB、MB、GBで表示) |
-c(total) | すべての項目の合計を最後に表示。 |
-a(all) | 指定したディレクトリ内の全てのファイルとディレクトリのディスク使用量を表示 |
実行結果
$ du -ah /home/user
4.0K /home/user/.bash_logout
8.0K /home/user/.bash_profile
8.0K /home/user/.bashrc
4.0K /home/user/Documents/file1.txt
16K /home/user/Documents
32K /home/user/Downloads/file2.zip
48K /home/user/Downloads
1.2G /home/user/Videos/movie.mp4
1.2G /home/user/Videos
2.5M /home/user/Pictures/photo.jpg
2.5M /home/user/Pictures
1.3G /home/user
よく使う組み合わせ
du -ah <ディレクトリパス> | sort -hr | head -<表示個数>
指定したディレクトリ内のすべてのファイルとディレクトリのディスク使用量を調査します。sortで使用率が大きい順に並び変えて、headで表示個数を制限します。
du -shc <ディレクトリパス> | sort -h
指定したディレクトリの合計のみを表示します。どこのファイルの使用率が多いのかざっくり把握したいときに便利です。
容量を圧迫する要因
ログファイルの増加
特にログローテーションの設定が適切でない場合は古いログが削除されず、ファイル容量を圧迫要因になります。適切にローテーションや削除の設定をする必要があります。
一時ファイルの蓄積
一時ファイルやキャッシュがディスクスペースを占有することがあります。特に、/tmpや/var/tmpディレクトリに大量のファイルが溜まることがあります。
以下参考記事