나는 du를 사용하여 모든 폴더를 나열하고 크기별로 정렬했는데 결과는 사용된 디스크 공간의 양과 전혀 동일하지 않았습니다(df 사용). 20G 정도 차이가 나는데 왜 그럴까요?
[root@xxx lib]# du --max-length=1 -h /|sort-nr 310M/도서관 123M/루트 96K/개발자 88M/등 75G/ 73G/var 30M/스빈 20M/부팅 20K/tmp 18M/lib64 16K/월 16K/분실 + 발견 12K/가정 8.0K/서버 8.0K/se리눅스 8.0K/옵션 8.0K/기타 8.0K/미디어 7.0M/상자 1.2G/usr 0/시스템 0/프로세스 [root@xxx lib]# df -h 마운트된 %를 사용하여 사용 가능한 파일 시스템 크기 사용 가능 /dev/mapper/VolGroup00-LogVol00 298G 94G 189G 34% / /dev/sda1 99M 26M 69M 28% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm
답변1
측정한 내용 du
과 다르기 때문입니다 .df
man du
설명하다:
du - 추정파일 공간 사용량(...) 요약하다파일당 디스크 사용량, 디렉토리 재귀의 경우.
그리고 man df
:
df-보고서파일 시스템 디스크 공간 사용량
파일 시스템에는 요약되지 않은 inode 테이블, 로그 등이 있습니다 du
. 이는 Linux에만 국한되지 않고 UNIX에만 적용됩니다(UNIX 파일 시스템에만 적용). UNIX 프로세스는 모든 작업(간단화하고 있음), 즉 로그 파일에 쓰는 작업에 파일을 사용하므로열린 파일 설명자이 경우 문제로 인해 다른 du
출력이 발생합니다 df
.
답변2
이것인덱스 노드테이블(및 몇 가지 아주 작은 것)은 사용된 공간에 포함됩니다. 약 18GB의 inode가 있는 것 같습니다. 이는 ext2/ext3/ext4의 예상 범위 내에 있는 약 6% 공간입니다(다른 것이 없다면 inode 테이블이 없는 파일 시스템은 더 큰 디렉토리 항목을 가질 수 있습니다). 다음을 실행하여 inode에 사용된 정확한 크기를 찾을 수 있습니다 tune2fs -l /dev/mapper/VolGroup00-LogVol00
. 예를 들어 다음은 20GB ext3 파일 시스템 중 하나에 대한 관련 행입니다.
Inode count: 2622368
Inode size: 128
이 파티션에는 2622368×128 B ≒ 320MB inode가 있습니다.
추가 참고 사항: 호출 방식에 du
따라 원격 마운트 및 기타 비직접 디스크 지원 파일 시스템에서도 각 파일이 사용하는 공간을 볼 수 있습니다. du -x /
루트 파일 시스템에 무엇이 저장되어 있는지 확인하려면 실행하세요 .