Ubuntuで「No space left on device」発生時の対処法
- 作成日 2026.06.08
- 更新日 2026.06.18
- ubuntu
Ubuntuで作業中に「No space left on device」というエラーが表示された場合、ディスク容量不足やinode不足が発生している可能性があります。このエラーを放置すると、ログインできなくなったり、サービスが停止したりすることがあります。本記事では原因の特定方法と具体的な解決手順を解説します。
「No space left on device」とは
このエラーは直訳すると「デバイスに空き領域がありません」という意味です。
主な原因は以下の2つです。
・ディスク容量不足
・inode不足
単純な容量不足だけでなく、小さなファイルが大量に存在する場合にも発生します。
ディスク使用量を確認する
まずはディスク容量を確認します。
df -h表示例

Use%が100%になっている場合は容量不足です。
inode使用率を確認する
ディスク容量に空きがあってもinodeが不足すると同じエラーが発生します。
確認
df -i表示例
Filesystem Inodes IUsed IFree IUse%
/dev/sda1 3276800 3276800 0 100%IUse%が100%の場合はinode不足です。
大容量ディレクトリを特定する
どこが容量を消費しているか調査します。
sudo du -h / --max-depth=1 2>/dev/null | sort -rhさらに詳細確認
sudo du -h /var --max-depth=1 | sort -rhよく肥大化する場所
・/var/log
・/var/lib/docker
・/home
・/tmp
・/var/cache
ログファイルを整理する
Ubuntuではログが大量に蓄積されることがあります。
サイズ確認
sudo du -sh /var/logjournalログ確認
journalctl --disk-usage古いログ削除
sudo journalctl --vacuum-time=7d容量指定
sudo journalctl --vacuum-size=500Mログ整理だけで数GB以上空く場合があります。
Dockerログを削除する
Docker環境ではログ肥大化が頻繁に発生します。
使用量確認
docker system dfログ確認
sudo find /var/lib/docker -name "*-json.log" -exec ls -lh {} \;ログ内容削除
sudo truncate -s 0 /path/to/container-json.logコンテナごとのログパスは以下で確認できます。
docker inspect コンテナID | grep LogPathAPTキャッシュを削除する
パッケージキャッシュも不要な容量を消費します。
削除
sudo apt clean不要パッケージ削除
sudo apt autoremove -y比較的安全に容量を確保できます。
不要ファイルを検索する
大きなファイルを特定します。
1GB以上のファイル検索
sudo find / -type f -size +1G 2>/dev/nullサイズ順表示
sudo find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -20不要なバックアップやダンプファイルが見つかることがあります。
tmpディレクトリを整理する
一時ファイルが蓄積している場合があります。
確認
sudo du -sh /tmp削除
sudo rm -rf /tmp/*実行中サービスが利用していないことを確認してから削除します。
inode不足を解消する方法
小さなファイルが大量にある場合はこちらを確認します。
件数確認
find /var -type f | wc -l大量ファイル検索
find / -xdev -type f | cut -d/ -f2 | sort | uniq -c | sort -nrキャッシュや古いログを削除するとinode不足を解消できます。
削除後に容量を再確認する
整理後は必ず確認します。
容量確認
df -hinode確認
df -i十分な空きが確保できていることを確認します。
今後の予防策
容量不足を防ぐために以下を実施します。
・logrotateを利用する
・Dockerログをローテーションする
・不要なバックアップを定期削除する
・監視ツールでディスク使用率を監視する
・定期的にapt cleanを実行する
サーバー運用では80%を超えた段階で調査を始めるのが理想です。
まとめ
Ubuntuで「No space left on device」が発生した場合は、まず「df -h」でディスク容量、「df -i」でinode使用率を確認します。
その後、「/var/log」「/var/lib/docker」「/tmp」などの容量を調査し、不要なログやキャッシュを削除することで解決できるケースが多くあります。特にDockerログやsystemdジャーナルログは肥大化しやすいため、定期的なメンテナンスを行うことで容量不足を未然に防ぐことができます。
-
前の記事
Ubuntuでext4ファイルシステムを修復する方法 2026.06.07
-
次の記事
【完全版】Oracle Database バージョン確認方法まとめ|SQL・コマンドを徹底解説 2026.06.08
コメントを書く