【Ubuntu】ディスクを圧迫しているディレクトリを特定する方法

スポンサーリンク
Ubuntuの環境設定
この記事を読んで分かること
  • 不要なパッケージの削除方法
  • 容量の大きいディレクトリ一覧を表示する方法

サーバを使用し続けているとディスクの容量が減ってきて、ファイルを整理する必要が出てきます。

Ubuntuでディスクの整理をする方法について詳しく説明します。

 

ディスクの使用率を確認

まずは、ディスクの空き容量を調べます。

df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  916G  613G  256G  71% /

 

916GBのディスクのうち613GBも使用していました…

 

不要なパッケージの削除

まずは、aptで管理している不要になったパッケージを削除してみます。

sudo apt autoremove

 

削除後のディスク容量を確認してみます。

df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 916G 607G 263G 70% /

 

これだけで、6GBのファイルを削除することができました。

 

容量を圧迫しているディレクトリを特定

ディスクスペースを圧迫しているディレクトリを特定する手順です。

標準コマンドを使用する場合

duコマンドとsortコマンドを組み合わせて、ディスク使用率のトップ10を表示してみます。

sudo du -hsx /* | sort -rh | head -10
315G    /var
282G    /work
11G     /usr
3.0G    /home
2.1G    /swapfile
1.4G    /lib
213M    /opt
185M    /boot
17M     /etc
14M     /sbin

 

/workディレクトリで普段作業しているので、データ量が多いことは予測していましたが、/varの使用量に驚きです。

 

ここからさらに原因のディレクトリを絞っていきます。

先程のコマンドとほぼ同様で、duコマンドの引数を変えて/varの中身だけを対象にするだけです。

sudo du -hsx /var/* | sort -rh | head -10
311G    /var/lib
4.1G    /var/log
163M    /var/cache
   :

 

続いて、/var/libの中身を確認します。

sudo du -hsx /var/lib/* | sort -rh | head -10
165G    /var/lib/docker
141G    /var/lib/collectd
4.5G    /var/lib/snapd
294M    /var/lib/apt
201M    /var/lib/dpkg
159M    /var/lib/mlocate
134M    /var/lib/dkms
62M     /var/lib/apport
19M     /var/lib/app-info
4.1M    /var/lib/aspell

 

dockercollectdが原因であることがわかりました。

 

ncduを使用してディレクトリの容量を確認

ncduコマンドを使用すると、簡単にディスク使用量を確認することができます。

まず、ndcuをインストールします。

sudo apt install ncdu

あとは/ディレクトリに移動してncduコマンドを実行するだけです。

cd /; sudo ncdu

ncduを使用

 

画面は矢印キーで操作することができ、下の階層のディレクトリの使用率も簡単に確認できます。

 

不要なdockerイメージの削除

dockerの容量が大きいことが確認できたので、不要なイメージを削除していきます。

まずは、buildに失敗しているイメージを削除します。

docker image prune
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:b75f60c41ba1734a143450c4e1f341719a51bdd664ed53e01d95c1e369469296
deleted: sha256:c7b5fde08bbbe65cdc808ce4cf16174aa485161812a764f17de140ba329a3454
deleted: sha256:484fc18a72ae21176aad3954358480eff1f6f7444b32e89a0da5b471f845d92f

 

不要なコンテナやイメージも削除しておきましょう。

Dockerのリソースの削除コマンドはこちらの記事にまとめているので、参考にしてみてください。

【Ubuntu】dockerで不要なコンテナやイメージを一括削除する方法
この記事を読んで分かること Dockerコンテナを一括で削除する方法 Dockerイメージを一括で削除する方法 Dockerを使っていると使い終わったコンテナやビルドに失敗したイメージなどのゴミが大量に...

 

不要なファイルの削除

ログファイルなど不要だと判断できるものは手動で削除していきます。

今回は、/var/lib/collectd が不要なリソース情報のログだったので、削除しました。

sudo rm -rf /var/lib/collectd/rrd/ai-pc/*

今回はひとまず200GBほどファイルの整理ができたので、良しとします。

df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p2 916G 467G 403G 54% /

 

(おまけ):容量の大きいファイルを見つける

標準コマンドで、容量の大きい(1GB以上)のファイルを見つけることもできます。

sudo du -h ./ | grep '[0-9]G'
4.1G    ./log/journal/760ccbdc316549d2a563ce7c6dbf048a
4.1G    ./log/journal
4.1G    ./log
3.1G    ./lib/snapd/snaps
   :

 

まとめ

Ubuntuディスクの整理をする手順を紹介しました。

標準コマンドの組み合わせやncduコマンドを使って、容量を圧迫しているディレクトリを見つけ出すことが必要です。

見つけたあとは、本当に不要なファイルか確認して消すだけです。

dockerやログは不要なファイルが溜まりやすいので、定期的に確認することをおすすめします。

 

コメント

タイトルとURLをコピーしました