production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

Linuxでduコマンドとdfコマンドを使って空き容量を増やす方法

概要

サービスを運用していると、サーバー内のディスク空き容量が枯渇してしまうことがしばしばあると思います。
以前AWS EC2のルートボリューム(EBS)をダウンタイム0で拡張する方法について書きましたが、対応の一つとして格納されているファイルを整理することで空き容量を増やすことも可能です。
今回は、Linuxでduコマンドとdfコマンドを使って空き容量を増やす方法について書きます。

コマンドの説明

dfコマンドとは

dfコマンドとは、サーバー内で使用中のディスクの量と使用可能量をファイルシステム毎に表示するコマンドです。
使用できるオプションは様々ですが、基本的にはdf -hで事足ります。

実行すると下記の通り、ファイルシステム、全体のサイズ、使用量、空き容量などが出力されます。

$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         1.9G   56K  1.9G    1% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
/dev/nvme0n1p1    32G   22G  9.7G   70% /

duコマンドとは

duコマンドとは、ディレクトリやファイル毎のディスク使用状況を出力するコマンドです。 実行すると下記の通り、ディレクトリやファイル毎にディスクの使用状況が出力されます。

$ du -sch ./*
5.8G    ./OUTPUT_DATA
76K ./OUTPUT_TABLE
12K ./bin
4.0K    ./date.txt
4.0K    ./nohup.out
32K ./test.log
4.0K    ./tmp
5.8G    合計

ディスク容量の整理の仕方

dfコマンドとduコマンドを使い方としては

  • dfコマンド: サーバー内で使用しているファイルシステム全体の使用状況を把握
  • duコマンド: 個別のディレクトリ、ファイルの使用状況を把握

といったように、duコマンドで狙いを定めて、容量を圧迫しているファイルを特定していくという使い方になります。

先述したduコマンドの結果をみると、OUTPUT_DATAというファイルが(カレントディレクトリに おいては)巨大なファイルであることがあります。
また、圧迫しているものがディレクトリの場合は、さらにduコマンドで深掘りし、ファイルを特定していくことで整理をしていきます。