web-dev-qa-db-ja.com

dfはディスクがいっぱいであると言いますが、そうではありません

Ubuntu 10.04を実行している仮想サーバーでは、dfは次のように報告します。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.4G  7.0G     0 100% /
none                  498M  160K  498M   1% /dev
none                  500M     0  500M   0% /dev/shm
none                  500M   92K  500M   1% /var/run
none                  500M     0  500M   0% /var/lock
none                  500M     0  500M   0% /lib/init/rw
/dev/sda3             917G  305G  566G  36% /home

1.)dfは、/にマウントされた/ dev/sda1は7.4ギガバイトの容量を持ち、そのうち7.0ギガバイトしか使用されていないにもかかわらず、/が100%使用されていると報告しています。および2.)/にファイルを作成できるため、明らかにスペースが残っています。

おそらく関連するのは、ディレクトリ/ wwwが別のパーティション(/ dev/sda3、/ homeにマウントされている)にある/ home/wwwへのシンボリックリンクであることです。

誰かがここで何が起こっているのかについての提案を提供できますか?サーバーは問題なく動作しているように見えますが、パーティションテーブル、ファイルシステム、または後で爆発(または爆発)につながる可能性のある何かに問題がないことを確認したいと思います。

61
Chris

削除された大きなファイルをプロセスが開いた可能性があります。スペースを解放するには、そのプロセスを強制終了する必要があります。 lsofを使用すると、プロセスを識別できる場合があります。 Linuxでは、削除済みで開いているファイルはlsofに認識され、lsofの出力で(削除済み)としてマークされます。

これはSudo lsof +L1で確認できます

108
mkomitee

ファイルシステムの5%(デフォルト)は、深刻な問題を防ぐためにファイルシステムがいっぱいになる場合のために予約されています。ファイルシステムがいっぱいです。 5%のバッファのために致命的なことは何も起こっていません-rootはその安全バッファを使用することが許可されており、セットアップでは、root以外のユーザーがそのファイルシステムに書き込む理由がありません。

Root以外のユーザーとして実行するデーモンがあり、そのファイルシステム内のファイルを管理する必要がある場合、問題が発生します。そのような一般的なデーモンの1つはnamedです。もう1つはntpdです。

46
David Schwartz

Iノードが不足している可能性があります。次のコマンドでiノードの使用状況を確認します。

df -i
35
Clifford Ilkay

ほとんどのLinuxファイルシステムは、rootユーザーのみが使用するために5%のスペースを予約しています。

あなたはこれを例えばで見ることができます

dumpe2fs /dev/sda1 | grep -i reserved

予約金額は次の方法で変更できます。

tune2fs -m 0 /dev/sda1

ほとんどの場合、サーバーは正常に動作し続けるように見えます-すべてのプロセスが「ルート」として実行されていると想定しています。

17
David Goodwin

すでに提案された原因に加えて、いくつかのケースでは、それはまた以下の場合があります:

  • 別のディスクが、データでいっぱいの既存のフォルダーの上にマウントされます
  • duはマウントされたディスクの消費サイズを計算し、dfは実際に消費されたサイズを表示します
  • 解決策:(可能な場合)ルート以外のディスクをすべてマウント解除し、du -md 1でサイズを再度確認します。 hiddenフォルダーを別の場所に移動するか、別の場所にマウントして、状況を修正します。
10
Robert Lujo

私はこの問題を抱えていて、さまざまな大きなファイルを削除しても状況が改善されなかった(5%のバッファについて知らなかった)とにかく、いくつかの手がかりに従って困惑しました。

ルートから、繰り返し行うことで明らかになった最大のディレクトリを下に歩いて行きました:-

du -sh */ 

絶対に巨大なログがいくつかあるウェブサーバーのログファイルのディレクトリに来るまで

私は切り捨てました

:>lighttpd.error.log

突然df -hが48%まで使用されました!

9
zzapper

df -hは値を丸めています。割合も丸められます。 -hそして細かい違いが見られます。

ああ。そして、ext3とderivatesは、この問題のあるコンステレーションに対して、ファイルシステム用のパーセンテージ(デフォルトは5%)を予約します。ルートファイルシステムが本当にいっぱいになると(残り0バイト)、システムを起動できません。したがって、予約された部分はこれを防ぎます。

5
mailq

いくつかのライブラリを大幅に更新しましたが、不要なライブラリと一時ファイルがたくさんあったので、次のコマンドを使用して「/」フォルダのスペースを解放しました。

apt-get install -f
Sudo apt-get clean

ゴミ箱を空にします

1
aburbanol

パーティションがbtrfsの場合、サブボリュームが領域を使用している可能性があります。 btrfsファイルシステムは多くのサブボリュームを持つことができ、そのうちの1つだけがマウントされます。 btrfs subvolume list <dir>を使用してすべてのサブボリュームをリストし、btrfs subvolume delete <dir>/<subvolume>を使用して1つを削除できます。デフォルトでマウントされているものは削除しないでください。

0
user377486

/ lost + foundを確認してください。システム(centos 7)があり、/ lost + found内のファイルの一部がすべてのスペースを食べていました。

0
Jude Zhu