web-dev-qa-db-ja.com

dfは100%完全なファイルシステムを報告し、duはリンクされていないファイルがない場合でも25%しか使用されていないことを示しています

奇妙な問題があります。dfはrootfsが100%いっぱいであることを示していますが、duは25%使用されていることを示しています。そのため、_lsof +aL1 /_を使用してrootfsからリンク解除されたファイルを確認しましたが、rootfsから削除/リンク解除されたファイルは表示されません。 find /proc/*/fd -ls | grep '(deleted)'も試しましたが、rootfsからのリンクされていないファイルは表示されません!

Iノードの使用率はわずか9%です

3
Soumyadip DM

コメントで示唆されているように、bind mountはファイルとディレクトリをduコマンドから隠す可能性があります。しかし、他にも何かがあるかもしれません...

次のことが明らかになる可能性があります。

% strace -e statfs df /         
statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=6288727, f_bfree=4705740, f_bavail=4380531, f_files=1605632, f_ffree=1412254, f_fsid={1878967121, -50608953}, f_namelen=255, f_frsize=4096}) = 0
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       25154908 6331948  17522124  27% /
+++ exited with 0 +++

f_bfreef_bavailには違いがあることに注意してください。 man statfsから:

fsblkcnt_t f_bfree;   /* Free blocks in filesystem */
fsblkcnt_t f_bavail;  /* Free blocks available to
                         unprivileged user */

Used列は計算に基づいています。これは、合計ブロック数-空きブロック数です。

2
joepd