web-dev-qa-db-ja.com

dfは使用されたすべてのスペースを示しますが、duは加算されません

Ubuntu 12.04 LTSに問題があります。過去3週間でこの問題に遭遇したのはこれが2回目です。最初は StackOverflowのこの閉じた質問 で説明されています。 TL; DRバージョンは、450G ext4システム上のすべてのiノードを使用してAndroidスタックをコンパイルおよびビルドし、 20回。

Iノードストレージが拡大できるように、ディスクをXFSとして再フォーマットして問題を解決していると思いました。

今朝、一晩ビルドを行った後、空き容量が1GB未満になりました。このマシンには、Androidのビルドに必要なもの以外に何もありません。プラットフォームソースで合計5つのビルドを行いました。ビルドは多数のファイルを作成し、make cleanですぐにそれらを削除します。私は実際には1GB未満ではありませんが、ツールはそのように報告しています。多数の一時ファイルを削除し、約40GBを「解放」しました。数時間後、ただアイドリングして、1GB未満の空き容量に戻りました。

フラッシュドライブからUbuntuを実行すると、パーティションに対して次が返されます...

$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda5      468521456 468255460    265996 100% /media/f71c77eb-b4cc-

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda5      1691760 624214 1067546   37% /media/f71c77eb-b4cc-

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda5       447G  447G  260M 100% /media/f71c77eb-b4cc-

何かがおかしいという証拠があります。 du(--apparent-sizeの有無にかかわらず)または視覚的なDisk Usage Analyzerを実行すると、実際に約35GBしか使用していないことがわかります。使用済みスペースの98.7%は/home/ericにありますが、duは合計されません。不一致は/home/eric/home/eric/Androidの間です

enter image description here

こことSOの関連する質問を読みましたが、通常は、開いているプロセスによって保持されている削除されたファイルであることを示唆しています。このテストを実行するためにフラッシュドライブを再起動したので、ファイルを開いてはいけません。 FWIW、/ tmpは空です。

「失われた」スペースを回復するために、フラッシュドライブにインストールできるツールはありますか?システムのメモリを解放して実行することもできますが、フラッシュドライブから実行する方が良いと考えています。

このシステムを別の方法で構成する必要がありますか?もう一回ワイプしてインストールしたくないのですが、持続可能なAndroidビルドシステムが必要です。

フォローアップ-作業を完了するには、先週インストールを破棄し、12.04を再インストールしなければなりませんでした。今週Androidビルドをもう一度行っていくうちに、ディスクの使用状況に注意を払い、詳細についてはこちらで情報を提供します。

ありがとう

26
Eric Cloninger

Oracle Linuxでは、削除されているが実行中のプロセスによってまだ開かれている(大量の)ファイルがある場合に発生します。その後、プロセスの停止またはマシンの再起動が役立ちます。

18
Michel Samia

最近、これに遭遇しました。私の場合、fsckを実行する必要がありました。

touch /forcefsck && rebootを実行しましたが、数分後にサーバーがオンラインに戻り、突然不足していた6 GBが解放されました。

3
mpontillo

遠くに行く前に.....システムをシングルユーザーモードに下げて、ファイルシステムのフルfsck(実際にはフルfsck -f /dev/sda5を意味する)を実行し、表示される内容を確認します。ディスク上の問題領域の一部として、または割り当てられているものとディスク上に存在するものとの不一致としてスペースを見つける場合があります。

1
mdpc

テストを行うことができます。duは10GBの空き容量があると言い、dfは300MBと言います。たとえば、2GBのサイズのファイル(または複数のファイル)を書くことができますか?できれば、それはdfが単に間違っていることを意味します(実際には「スペースの損失」の問題はありません)。そうでない場合、duは間違っています(これは興味深いことです)。

1
user_1729

私はこの問題の原因を発見していませんが、ubuntu 12.04に固有のものです。

新しいサーバーをセットアップするだけで、Ubuntu 12.04から始めて、これに遭遇しました。 duは約111 GiBの使用を示しましたが、dfは約170 GiBでした。

Systemrescuecd 3.3.0を使用して起動し、再度チェックすると、1 GiB未満の差が示されました。

パーティションとファイルシステム(ext4)を変更せずに残して、ubuntuディレクトリを邪魔にならない場所に移動し、Debian 7.0をインストールしました。繰り返しますが、duとdfの差は1 GiB未満でした。

Ubuntu 10.04では、同じパーティションとext4 fsで:

df -m /から、

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/sda2              2814679    407164   2264538  16% /

du -mxから、

tail -1 /root/diskuse 
406920  .

十分に近いです。

1
user163269

投稿した画像は、スペースが使用されている場所を示しています:/home/eric。そこに非常に大きなファイルがあり、すべてのスペースを占有しているようです。または、多数の小さなファイルがある可能性があります。ホームディレクトリを開き、隠しファイルが表示されていることを確認します(Ctrl+H Nautilusで)、ファイルサイズで並べ替えます。

0
psusi

これは、ディレクトリ内のファイルが原因であることが多く、このファイルには異なるファイルシステムもマウントされています。一般的な修正方法は、レスキューディスクまたはシングルユーザーモードで起動し、ディレクトリを空にして、マウントポイント(cat /proc/mountsまたはdf -h)として使用されていないことを確認することです。

0
Tim Small