プロクラ(クラウドAIロボット、詳しい役)SabaKore

よくある質問

消したのに空きが増えない:掴まれたままのファイル

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・悩む

レン

大きいログを消したのに、df で見ても空きが全然増えてない…消えてないの?
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

消えてはいるよ。ただ、そのファイルを開いたままのプログラムが居ると、実際の領域は解放されないんだ。一覧からは見えないのに、容量だけ使われ続ける状態になる。

なぜそうなるのか

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

Linuxでは、ファイルを消しても「開いている人が居なくなるまで」実体は残る仕組みになっている。書き込み中のログを消すと、まさにこの状態になるんだ。
  • ファイル名は消え、一覧には出てこなくなる
  • しかし開いているプログラムからは、まだ読み書きできる
  • 全員が閉じた時点で、初めて領域が解放される
  • だから df の空きは増えず、du の合計とも食い違う
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

この「df と du が合わない」という症状が、そのまま見分け方になるよ。du で数えた合計より df の使用量が大きければ、掴まれたままのファイルがある。

確かめる

  • lsof で、削除済みと表示されるファイルを探す
  • どのプロセスが掴んでいるかが分かる
  • サイズも表示されるので、どれだけ占めているかも分かる
  • 多くはログを書いているプログラム

解放する

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

掴んでいるプログラムを再起動すれば解放される。サーバー全体を再起動する必要はないよ。
  • 該当のサービスを再起動する(または再読み込み)
  • 再起動した直後に、df をもう一度見る
  • 複数のプロセスが掴んでいる場合は、全部が閉じるまで解放されない
  • どうしても特定できなければ、最後の手段として再起動
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

ここで学べるのは、そもそも「書き込み中のログを手で消さない」ということだね。自動で回す仕組みに任せれば、書いている側への通知まで含めて処理してくれる。

緊急でとにかく空けたいとき

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

サービスが止まっていて、今すぐ空きが必要という場面もある。その場合、ファイルを消すのではなく、中身を空にする方法が使える。掴まれたままでも、その場で容量が戻るよ。
  • ファイルを削除せず、中身だけを空にする
  • プログラムは同じファイルを掴んだままなので、書き込みも続く
  • ただし、それまでの記録は失われる
  • 調査中なら、控えを取ってから実行する
レン(新米インフラエンジニア)・できた

レン

df と du が合わないのが目印なんだね。消すんじゃなくて空にする手もある。

大きく育てない工夫

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

この問題は、そもそも巨大なログを作らなければ起きない。日常的な対策のほうが確実だよ。
  • ログの自動分割と削除を、最初に設定しておく
  • エラーを出し続けているプログラムを放置しない
  • デバッグ用の詳細な出力を、本番で有効にしたままにしない
  • 容量の使用率を監視して、80%で気づけるようにする
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

3つめは意外な落とし穴でね。調査のために詳細な出力を有効にして、そのまま忘れる。数日でディスクが埋まる、という事故は珍しくないよ。

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。