Ubuntuで「No space left on device」発生時の対処法

  • 作成日 2026.06.08
  • 更新日 2026.06.18
  • ubuntu
Ubuntuで「No space left on device」発生時の対処法

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/log

journalログ確認

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 LogPath

APTキャッシュを削除する

パッケージキャッシュも不要な容量を消費します。

削除

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 -h

inode確認

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ジャーナルログは肥大化しやすいため、定期的なメンテナンスを行うことで容量不足を未然に防ぐことができます。