Ubuntu의 ext4 파일 시스템에 있는 디렉토리 항목의 현재 구조를 고려할 때, 파일 시스템이 포함할 수 있는 최대 파일 수는 몇 개입니까?
파일 시스템에 포함될 수 있는 최대 파일 수를 계산하는 일반적인 방법은 무엇입니까?
답변1
Ext4의 이론상 파일 수 제한은 40억 개이며, 이는 각 파일을 식별하는 데 사용하는 inode 번호의 크기에 따라 제한됩니다(ext4는 32비트 inode 번호를 사용함). 그러나 John이 말했듯이 ext4는 inode 테이블을 정적으로 할당하므로 실제 제한은 파일 시스템이 생성될 때 설정됩니다.
df 명령은 파일 시스템의 사용 가능한 inode 수를 표시합니다.
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4는 또한 디렉터리당 하위 디렉터리 수를 무제한으로 지원하지만 기본적으로 64,000개로 제한될 수 있습니다. 이는 구성 가능합니다.Kernel Newbies의 ext4 기사.
자세한 내용은 다음을 참조하세요.새로운 ext4 파일 시스템: 현재 상태 및 향후 계획2007년 리눅스 심포지엄에서.
답변2
그 자체로는 하나도 없습니다. 때에 따라 다르지. ext4 파일 시스템을 생성할 때 ext4 파일 시스템의 크기를 결정합니다.아이노드 테이블, 이는 파일 시스템이 한 번에 보유할 수 있는 총 디렉토리 또는 파일 수를 제어합니다.
답변3
Ubuntu는 아니지만 Redhat Linux에서는 find와 같은 기본 명령이 300만 개의 파일이 포함된 디렉터리에 대해 실행될 때 '인수가 너무 많음' 오류와 함께 실패합니다. ls는 매개변수가 포함되지 않은 경우 성공적으로 실행되지만, 필터 매개변수가 추가되자마자 동일한 오류와 함께 실패합니다.
이러한 기본 명령의 신뢰성이 필수 요구 사항이라고 가정하면 300만 개의 파일은 너무 많은 것 같습니다.