dfとduで報告されたディスク使用量に違いがあるのはなぜですか? [コピー]

dfとduで報告されたディスク使用量に違いがあるのはなぜですか? [コピー]

LinuxセントOSサーバー、オペレーティングシステム+の周辺で使用されるソフトウェアパッケージ5GB。それから私は戻った。97GBWindowsサーバーからそのLinuxサーバー上の2つのフォルダーにデータを転送した後、ディスク使用量を計算したところ、2つのフォルダーの合計サイズがディスク使用量よりも大きいことがわかりました。

各フォルダで一度実行し、du -sh一度使用します。50GB、もう一つは使用47GB

ただし、実行時にdf -h使用されるスペースは96GB。 (50GB+47GB+5GB)>96GB

質問がありますか?これら2つのフォルダには多数のファイル(100万以上)が含まれています。ありがとうございます。

答え1

これduこのページでは、値が異なる理由についての洞察を提供していますが、サイズは2つのうちより小さくなければならないことを示しているようです。

df割り当てられたブロックの総数を使用し、duディスクにブロックを必要とするinodeなどのメタデータを除いて、ファイル自体のみを調べます。また、アプリケーションが開いている間にファイルを削除すると、duそのファイルは空き領域として報告されますが、dfアプリケーションが終了するまで報告されません。

答え2

duそれより大きい場合、df一般的な原因は「希少ブロック」です。プログラムが実際にディスクブロックに書き込まず、代わりに検索する場合、inodeのブロック割り当てマップからゼロポインタを取得して保持しません。物理ディスク領域です。後で作成すると、物理ディスクブロックが割り当てられ、マッピングが新しいブロックを指すように変更されます。

関連情報