
df -h
印刷:
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 6.6G 50G 12% /
devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 9.0M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 54M 199M 22% /boot
tmpfs 391M 0 391M 0% /run/user/1000
またncdu /
印刷して下さい:
Total disk usage: 1.8 GiB Apparent size: 1.8 GiB Items: 176500
レポートの1つは6.6+ GiBを使用し、他のレポートは6.6+ GiBのみを使用するのはなぜですか1.8 GiB
。
答え1
の出力はdf
ファイルシステムレベルの統計に基づいていますが、一般的なものではなく、ncdu
ディレクトリdu
検索、個々のファイルサイズの読み取り、および要約を通じて結果を生成します。
du
-styleコマンドがroot以外のユーザーとして実行されている場合、すべてのディレクトリへのフルアクセス権が必要ないため、すべてのエントリが表示されない可能性があります(sudo ncdu
この例では使用されています)。
実行して、du -hs /
結果を報告された「合計ディスク使用量」と比較してみてくださいncdu /
。同様の結果を見つけることもできます。を使用すると、du
コマンドがアクセスできないため考慮できない複数のディレクトリに関するメッセージが表示されることがあります。それも本当かもしれませncdu
んが、エラーメッセージを隠すだけです。
ncdu
また、最新のLinuxディストリビューションの仮想ファイルシステムを理解するように更新されていないため、混乱する可能性があります。私のDebian 10システムでは、ncdu /
次のように報告します。
Total disk usage: 75.6 GiB Apparent size: 128.1 TiB Items: 469143
私が知る限り、「見かけの大きさ」は明らかに意味がなく、役に立たない。 「総ディスク使用量」は私が得たものとほぼ同じですdu -hs /
。ただし、これにはRAMベースの仮想ファイルシステム(devtmpfs
、tmpfs
)がたくさん含まれているため、その数もあまり役に立ちません。
ただし、コマンドを1つのファイルシステム(たとえば)に制限すると、ncdu -x /
より合理的な結果が得られるようです。このファイルシステムは、丸めエラー内の to の出力と一致し、ファイルシステムに出力du -shx /
と一致するために少しのスペースが必要になることを覚えています。それを保存するとき。df -h
内部メタデータ。
エラーが発生する可能性があるもう1つの原因は、BTRFSファイルシステムスナップショットなどの高度なファイルシステム機能を使用している場合です。もちろん、ルートファイルシステムには1.8GiBのファイルしかありませんが、そのファイルシステムに以前の状態の2つのスナップショットが含まれている場合、使用されるディスク容量の合計は保持されているファイルサイズの合計の3倍に達する可能性があります。 (とdu
コマンドのようなもの)期待通り。
df
コマンドはファイルシステムドライバを調べて情報を取得するため、報告する大きな「使用済み」値には、アクセスに正しい方法を使用しない限り、表示されない可能性があるスナップショットを含めることができます。