df는 100% 전체 파일 시스템을 보고하고, du는 연결 해제된 파일이 없어도 25%만 사용된 것으로 표시합니다.

df는 100% 전체 파일 시스템을 보고하고, du는 연결 해제된 파일이 없어도 25%만 사용된 것으로 표시합니다.

dfrootfs가 100% 가득 찬 것으로 표시되지만 du25% 사용된 것으로 표시되는 이상한 문제가 있습니다 . 그래서 rootfs에서 연결 해제된 파일 확인을 사용했는데 lsof +aL1 /rootfs에서 삭제되거나 연결 해제된 파일이 표시되지 않았습니다. 나도 find /proc/*/fd -ls | grep '(deleted)'그것을 시도했지만 rootfs에서 연결되지 않은 파일이 표시되지 않았습니다!

Inode 사용량은 9%에 불과합니다.

답변1

의견에서 제안한 대로 a는 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_bfree와 에는 차이가 있다는 점에 유의하세요 f_bavail. 에서 man statfs:

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

Used열은 총 블록 - 여유 블록 계산을 기반으로 합니다.

관련 정보