0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxディスク容量不足の調査と対策法まとめ

Last updated at Posted at 2024-06-25

Linuxのディスク容量が不足したときの対応方法

ディスク容量を圧迫している原因を特定して、不要なファイルがあるなら削除をおこないます。削除ができない場合はディスクの拡張を行うしかありません。

ディスク容量圧迫の原因を調査するにはdfコマンドとduコマンドを使用します。

dfでディスク使用率確認して、duでファイルを特定します。

Linuxディスク容量調査コマンド

dfコマンド

dfは「disk filesystem」の略でディスクの使用状況を表示するために利用します。マウントポイントも確認することができます。まずはdfコマンドでどのファイルシステムの容量がひっ迫しているかを確認します。

実行結果

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 -shc /* | sort -rh
3.3G    total
2.4G    /usr
834M    /opt
74M     /var
46M     /aws
4.8M    /etc
1.2M    /tmp
108K    /run
104K    /home
4.0K    /srv
4.0K    /root
4.0K    /mnt
4.0K    /media
4.0K    /local
4.0K    /boot

まずは対象のファイルシステムのどのディレクトリの使用率が高いかを確認します。-sオプションを使用することでディレクトリごとの容量を確認できます。sortに-hオプションをつけることで数値の後に接尾辞(例えば、K、M、G など)が付いたデータをソートすることが可能になります。

duコマンドで容量の大きいディレクトリが判明したら、そのディレクトリに対してさらにduコマンドを実行することで、対象のファイルを絞り込んでいけます。

$ du -ah /usr/ | sort -rh | head -10
2.4G    /usr/
1.1G    /usr/local
450M    /usr/local/aws-cli/v2
450M    /usr/local/aws-cli
425M    /usr/bin
384M    /usr/local/lib
376M    /usr/lib64
338M    /usr/share
225M    /usr/local/aws-cli/v2/2.17.10/dist
225M    /usr/local/aws-cli/v2/2.17.10

ファイルを特定する時は-aオプションを付けることで、指定したディレクトリ配下のすべてのディレクトリ、ファイルの容量を調べることができます。数が多い場合はheadコマンドで表示数を絞りましょう。この例ではサイズの大きい上位10個を表示しています。

容量を圧迫する要因

ログファイルの増加

特にログローテーションの設定が適切でない場合は古いログが削除されず、ファイル容量を圧迫要因になります。適切にローテーションや削除の設定をする必要があります。

一時ファイルの蓄積

一時ファイルやキャッシュがディスクスペースを占有することがあります。特に、/tmpや/var/tmpディレクトリに大量のファイルが溜まることがあります。

以下参考記事

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?