Linuxサーバは、柔軟性や拡張性に優れる一方で、ディスク容量のひっ迫によるパフォーマンス低下やシステム停止といったリスクも伴います。特にログや一時ファイルが日々蓄積される運用環境では、容量不足の兆候を見逃さず、早期に対応する体制が求められます。手動確認だけでなく、自動化やスクリプト化も視野に入れた管理が欠かせません。
本記事では、Linuxで使用する容量確認コマンドの基本から応用的な使い方、さらには自動化による監視の最適化方法まで、実務で活用できる視点でわかりやすく解説しています。大規模環境や複数台管理の現場にも対応できる実践的な内容です。
ぜひ最後までお読みいただき、Linuxサーバの安定運用に向けた容量管理スキルを高めてください。
目次
閉じる
1.duはファイルやディレクトリごとで容量確認ができるコマンド
duコマンドは、Linux環境で特定のディレクトリやファイルの容量を確認するために使用されます。
全体容量を確認するdfとは異なり、duは局所的な使用状況を可視化するのに優れています。たとえば、ログやバックアップフォルダなど、容量の増加が気になる場所をピンポイントで調査するのに適しています。
サーバ運用の現場では、容量ひっ迫の兆候を早期に察知する手段として活用される場面が多く、スクリプトによる定期チェックにも応用しやすいのが特長です。
2.duコマンドの便利な使い方
duコマンドの便利な使い方として、以下4つを解説します。ぜひとも参考にしてみてください。
ディレクトリを指定する
容量を単位で表示する
使用率の多い順に表示する
その他オプションコマンド
ディレクトリを指定する
duコマンドでは、調べたいディレクトリを直接指定できます。
たとえばdu /var/logと入力すれば、/var/logディレクトリ内の各ファイルやサブディレクトリがどれだけディスク容量を使っているかを一覧表示します。
ログが大量に溜まっているときなど、「どのファイルが大きいのか」を確認するのに便利です。
入力画面
du /var/log |
出力例
4 /var/log/apt 12 /var/log/fsck 8 /var/log/unattended-upgrades 152 /var/log |
容量増加の原因を局所的に調べたい場合や、バックアップ前の容量チェックなど、目的に応じて柔軟に活用できます。無駄なファイルや大きなデータを見つけ出す第一歩として有効です。
容量を単位で表示する
容量をMBやGBといった単位で読みやすく表示するには、-hオプションを付けます。例として、du -h /home/userのように使えば、人間にとって直感的なフォーマットで表示されます。
入力画面
du -h /home/user |
出力例
12K /home/user/.cache 64M /home/user/Documents 512K /home/user/Downloads 65M /home/user |
報告書に出力を貼り付ける場合や、容量感覚をすばやく把握したい場面では非常に役立ちます。読みやすさが増すことで、初心者でも扱いやすくなります。
使用率の多い順に表示する
容量が大きい順にソートするには、du -h | sort -hrという組み合わせが便利です。これを使えば、使用量が多いフォルダを一目で把握できます。
以下のようにコマンドを入力すれば、上位10件の容量をすぐに確認できます。容量ひっ迫時の優先対応箇所を洗い出す際におすすめのコマンドです。
du -h /var | sort -hr | head -n 10 |
出力例
2.5G /var/lib 1.8G /var/log 1.1G /var/cache 512M /var/tmp ... |
その他オプションコマンド
duには多彩なオプションがあります。合計のみを表示する-s、階層を制限する--max-depth=1、ファイル単位で表示する-aなど、使い分ければ調査精度が向上します。
例1:合計だけ知りたい場合
入力画面
du -sh /etc |
出力例
45M /etc |
例2:階層を1階層だけ表示
各ユーザーのディレクトリがどれくらい使われているかを把握したいときに使います。
入力画面
du -h --max-depth=1 /home |
出力例
1.2G /home/user1 3.4G /home/user2 512M /home/testuser 5.2G /home |
例3:ファイルごとの容量を確認したい
入力画面
du -ah /home/user |
出力例
4.0K /home/user/.bashrc 1.2M /home/user/picture.jpg 500K /home/user/documents/report.pdf 3.5M /home/user/documents ... |
3.dfはディスク容量全体や空き容量の確認ができるコマンド
dfは、Linuxでディスク全体の容量や使用状況、空き領域を確認する基本コマンドです。マウントポイントごとの総容量、使用済み、空き容量、使用率などを一覧で表示できます。
サーバのパフォーマンス監視や、容量不足による障害の予防に欠かせない情報が一目でわかるのが特徴です。
duがファイル単位での使用状況を調べるのに対し、dfはシステム全体のディスク状況を俯瞰して把握する用途に向いています。運用管理や容量アラートの自動化にもよく活用されています。
4.dfコマンドの便利な使い方
dfコマンドの便利な使い方として以下の4つを一つずつ解説していきます。
ディレクトリを指定する
容量を単位で表示する
ディスク容量を表示する
その他オプションコマンド
ディレクトリを指定する
dfにディレクトリを指定すると、そのディレクトリが所属するファイルシステムの容量状況を表示します。
たとえば/varを指定すれば、そのパスがどのディスク領域にあるかを確認でき、対象領域の空き容量が分かります。
入力画面
df /var |
出力例
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 41151864 23871328 15168252 62% / |
複数のマウントポイントを使っている環境でも、的確に容量確認が可能になります。
容量を単位で表示する
-hは人間が読みやすい単位(KB、MB、GB)で容量を表示します。
デフォルトではブロック単位で表示されますが、-hを使えば直感的に容量を把握でき、報告や監視ログへの転記にも適しています。毎日の運用確認やキャパシティ管理において、視認性が大きく向上します。
入力画面
df -h |
出力例
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 28G 42% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sdb1 100G 70G 25G 74% /data |
ディスク容量を表示する
-Tオプションを使うと、ファイルシステムの種類も含めてディスク容量を確認できます。
ext4やxfsなど、使われているファイルシステム形式を確認することで、最適な保守や運用方法を選ぶ判断材料になります。クラウドや仮想環境など、多様なファイルシステムが混在する環境では特に有効です。
入力画面
df -T |
出力例
Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 41151864 23871328 15168252 62% / tmpfs tmpfs 1024000 0 1024000 0% /run /dev/sdb1 xfs 104857600 73400320 31457280 70% /data |
その他オプションコマンド
他にも便利なオプションコマンドがあります。以下に3つの例として解説します。
例1:全ファイルシステムを読みやすく表示
入力画面
df -hT |
出力例
Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 50G 20G 28G 42% / tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sdb1 xfs 100G 75G 25G 75% /data |
例2:inode(ファイル数)を確認
容量は空いていてもinode(ファイル数制限)が上限に達していると書き込みができないため、運用上のチェックポイントとして重要です。
入力画面
df -i |
出力例
Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 3276800 524288 2752512 16% / tmpfs 512000 8 511992 1% /run |
例3:ローカルファイルシステムのみ表示
NFSや仮想メディアを除いたローカルディスクの確認ができます。
入力画面
df -h -l |
出力例
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 20G 28G 42% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sdb1 100G 75G 25G 75% /data |
関連記事
Linuxコマンド一覧【初心者向け】オプションと実践的な使い方・ディレクトリ操作、ls/WSL対応
5.Linuxの空き容量を増やす方法
現在のLinux容量の状況把握から不要ファイルの削除、確認までの流れをステップごとに解説します。
現在の容量を確認する
ディスク容量を確認する
特定したファイルを削除か圧縮する
最終的な容量の確認
現在の容量を確認する
最初にdf -hコマンドでディスク全体の使用率と空き容量を確認します。-hオプションを使うことで、GBやMB単位で分かりやすく表示されます。
入力画面
df -h |
出力例
Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 22G 26G 46% / tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 380M 1.4M 379M 1% /run /dev/sdb1 100G 90G 10G 90% /data /dev/sdc1 200G 60G 140G 30% /backup |
マウントポイントごとの使用状況を把握することで、どのディスクがひっ迫しているのかを特定しやすくなります。容量不足の早期発見に役立つ初期チェックです。
ディスク容量を確認する
続いて、特定ディレクトリ内でどのサブフォルダが多くの容量を使っているかをduで調査します。
--max-depth=1を使えば、1階層ごとの使用量が一覧表示され、肥大化している領域を簡単に把握できます。ログ、キャッシュ、バックアップなどの見直し対象をピンポイントで絞り込めます。
入力画面
du -h --max-depth=1 /var |
出力例
180M /var/log 4.0K /var/tmp 1.2G /var/lib 8.0K /var/mail 40M /var/cache 1.5G /var |
特定したファイルを削除か圧縮する
容量を多く占めているファイルを確認できたら、不要なログファイルやキャッシュの削除、古いバックアップの圧縮を行います。
たとえばgzip access.logでログファイルを圧縮したり、rmで削除したりします。
運用ルールがある場合は、事前に確認した上で対応することが重要です。誤削除を防ぐため、ファイル名や日付を慎重に確認しましょう。
最終的な容量の確認
対応後は再度df -hで容量を確認し、空き領域が確保されたかをチェックします。
対応前と比較することで、どの程度改善したのかを把握でき、今後の運用方針を考える手がかりになります。
df -h |
また、削除や圧縮による影響が他のシステムに出ていないかも合わせて確認するようにしましょう。
関連記事
Linuxのzipコマンド完全ガイド|圧縮・解凍の基本操作からオプション活用までを解説
6.Linuxの容量確認を自動化する方法
サーバ運用の現場では、容量ひっ迫の兆候をいち早く察知することが求められます。そこで役立つのが、dfやduを使った定期的な容量確認の自動化です。
cronジョブやシェルスクリプトを活用すれば、日次・週次でのレポート送信やアラート通知が実現できます。
例えば、ルートディレクトリの使用率が80%を超えていた場合、3日以上経過した/tmp内のファイルを自動で削除します。
スクリプト例:容量使用率80%以上で/tmp内を削除
# 対象パーティションの使用率を取得 USAGE=$(df / | grep -v Filesystem | awk '{print $5}' | sed 's/%//')
if [ "$USAGE" -ge 80 ]; then find /tmp -type f -mtime +3 -exec rm -f {} \; echo "$(date): /tmp cleaned due to high disk usage" >> /var/log/disk_cleanup.log fi # 管理者にメール通知 echo "Disk usage was at ${USAGE}%. Cleaned up /tmp directory." | mail -s "Disk cleanup performed on $(hostname)" admin@example.com fi |
ログとして処理日時を記録するようになっているため、運用状況の追跡も可能です。
7.Linuxサーバの容量を圧迫する要因
Linuxサーバの運用では、意図しない容量ひっ迫がトラブルの原因になることがあります。放置すると、システムの動作不良やサービス停止を引き起こすリスクがあるため、代表的な2つの要因を取り上げ、容量監視や整理の重要性について解説します。
ログファイルの増加
一時ファイルの蓄積
ログファイルの増加
Linuxでは、/var/log以下にさまざまなログが日々蓄積されます。システムログやアプリケーションログ、エラーログなどが自動生成されるため、放置していると数GB以上に膨れ上がることも珍しくありません。
特にWebサーバやデータベースを運用している環境では、アクセスが多い分だけログも増加しやすく、容量不足の主要原因になります。
ログローテーションの設定や古いログの自動削除を定期的に見直すことが重要です。
一時ファイルの蓄積
/tmpや/var/tmpといった一時ファイル保存ディレクトリには、アプリケーションやユーザーが一時的に作成するファイルが保存されます。
通常、これらは一定期間後に自動削除されるよう設定されていますが、環境によっては削除が行われず蓄積していくケースもあります。特に、大量の一時ファイルを扱うアプリケーションを使用している場合、短期間で容量を圧迫する可能性があり、注意しなければなりません。
cronで定期的にクリーンアップすることで、容量管理の安定性を保つことができます。
8.ログローテーションで容量増加を防ぐ
Linuxでは、ログファイルが無限に肥大化しないようログローテーションという仕組みが用意されています。これは、サイズや日数などの条件で古いログを別名で保存し、新しいログを書き始めるという管理方法です。
代表的なツールがlogrotateで、多くのLinuxディストリビューションに標準でインストールされています。適切に設定することで、古いログの自動削除や圧縮が行われ、サーバ容量の圧迫を未然に防げるようになります。
logrotate設定ファイルの例(/etc/logrotate.d/nginx)
/var/log/nginx/*.log { daily missingok rotate 7 compress delaycompress notifempty create 0640 www-data adm } |
この設定では、Nginxのログを毎日ローテーションし、最大7世代まで保持します。圧縮(gzip)も行われるため、容量の節約にも有効です。ログが空なら処理をスキップし、ファイルがなければエラーを出さずにスルーする仕様も含まれています。
9.Linuxの容量確認でよくある質問
Linuxの容量確認はシステム運用において基本的な管理作業ですが、初心者や現場エンジニアからよく寄せられる疑問があります。ここでは実務でもよく遭遇する質問を中心に、以下4点について解説します。
duとdfの違いを知りたい
どれくらいの頻度で容量確認すべき?
dfやduで数値が合わないのはなぜ?
GUIで容量確認する方法はある?
duとdfの違いを知りたい
dfはディスク全体の使用状況を「ファイルシステム」単位で確認するコマンドです。一方で、duは「ディレクトリやファイル」単位での使用量を調べるコマンドです。
つまり、dfは全体の「空き容量」や「使用率」の把握に向いており、duは「どこで容量を食っているか」を詳しく調査するのに適しています。使い分けることで、容量問題の原因特定と対処がスムーズになります。
どれくらいの頻度で容量確認すべき?
業務システムやWebサーバなど、稼働率が高いサーバであれば最低でも1日1回の確認が理想です。
ログや一時ファイルが急増する可能性があるため、cronなどを使ってdfやduの結果を自動でログに残しておくと安心です。小規模なサーバであっても、週に1回はチェックし、異常な容量増加がないかを監視するのが望ましい運用と言えるでしょう。
dfやduで数値が合わないのはなぜ?
dfとduの出力が一致しない原因はいくつかあります。
たとえば、削除されたファイルがプロセスによってまだ開かれている場合、duには表示されず、dfではディスクを消費したままの状態になります。
また、duは特定のディレクトリだけを対象にしているため、tmpfsや隠し領域などが反映されないことがあります。
違いが出る原因を追究する方法として、lsof | grep deletedを入力するのも一つの手段です。
入力画面
$ lsof | grep deleted |
出力例
rsyslogd 872 root 3w REG 8,1 1048576 654321 /var/log/syslog.1 (deleted) nginx 1337 www-data 4w REG 8,1 2097152 789012 /var/log/nginx/access.log.1 (deleted) |
GUIで容量確認する方法はある?
LinuxでもGUI環境を使用している場合、ディスク使用量アナライザーなどのツールを利用すれば、視覚的に容量状況を確認できます。
Ubuntuではbaobabをターミナルからインストールして起動可能です。ファイルやディレクトリごとの使用量を円グラフやツリービューで表示できるため、初心者や非エンジニアにも理解しやすく、デスクトップ用途のサーバや開発環境で重宝されます。
関連記事
UNIXとLinuxの違いとは?共通点や選択基準などをわかりやすく解説
10.まとめ
今回は、Linuxにおけるディスク容量確認の基本操作から、dfやduコマンドの使い分け、ログ管理や不要ファイルの削除、自動化による監視方法までを幅広くお話ししました。
Linuxサーバは、その高い柔軟性とパフォーマンスを最大限に活かすためにも、日々の容量管理が欠かせない重要な運用業務の一つです。正確な確認と適切な対応を習慣化することで、突発的なトラブルの予防やサービスの安定稼働につながります。
容量確認の知識は、システムの健全性を維持するだけでなく、運用効率の向上や信頼性の高いサポート体制の構築にも役立つスキルです。
最後までお読みいただきありがとうございました。
本記事が皆様にとって少しでもお役に立てますと幸いです。