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


28

Ubuntu 12.04 LTSに問題があります。過去3週間でこの問題に遭遇したのはこれが2回目です。StackOverflowのこのクローズド質問で初めて説明します。TL; DRのバージョンは、私が小さい20倍以上のAndroidスタックをコンパイルし、構築450Gのext4のシステム上のすべてのiノードを使用するために管理しています。

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

ここに画像の説明を入力してください

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

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

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

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

ありがとう



@jokerdinoはい、そのスレッドと他の同様のスレッドの指示に従いました。システムを再起動し、フラッシュドライブから再起動しました。再起動後、システムはまだディスク全体が占有されていると表示します。ありがとう。
エリッククロニンガー

Linuxのファイルデータは参照カウントされるため、Windowsのように頻繁に再起動する必要はありません。おそらく、エミュレータを実行し続け、その背後にあるデータファイルを上書きしていませんか?
-aquaherd

@EricCloninger私は、同じ問題がどのように発生したかをユーザーのリストに追加する必要があります。これは 12.10を使用した私の質問であり、これは 11.04ユーザーの質問です。
ルシオ

また、ls -lah ~paste.ubuntu.com の出力をコピーして貼り付け、質問にリンクします。
ルシオ

回答:


19

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


ログファイルをハグするサーバーで私のために働いた。ありがとう!
ミッセット

12
を使用lsof +L1してプロセスIDを確認し、強制終了します。
ジェフ・ティエン

3

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

私がやったtouch /forcefsck && rebootと、数分後に、サーバがオンラインに戻ったと、突然私の行方不明6ギガバイトを解放しました。


1

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


ドライブがXFSでフォーマットされているため、フラッシュドライブからのsudo fsck -f / dev / sda5は何もしませんでした。xfs_checkを使用するよう勧められました。xfs_check / dev / sda5は結果を返しませんでした。xfs_repair / dev / sda5は修復を実行しましたが、異常は報告しませんでした。両方の後、私はまだ99%満腹です。Thx
エリック

1

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


1

私はこの問題の原因を発見していませんが、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  .

十分に近いです。


0

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.