Dada la estructura actual de una entrada de directorio en un sistema de archivos ext4 en Ubuntu, ¿cuál es la cantidad máxima de archivos que puede contener un sistema de archivos?
¿Cuál es el método general para calcular la cantidad máxima de archivos que puede contener un sistema de archivos?
Respuesta1
Ext4 tiene un límite teórico de 4 mil millones de archivos, que está restringido por el tamaño del número de inodo que usa para identificar cada archivo (ext4 usa números de inodo de 32 bits). Sin embargo, como dice John, ext4 asigna tablas de inodos estáticamente, por lo que el límite real se establece cuando se crea el sistema de archivos.
El comando df le muestra un recuento de inodos libres en su sistema de archivos:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4 también admite un número ilimitado de subdirectorios por directorio, aunque puede tener un límite predeterminado de 64.000. Esto es configurable; consulte laArtículo ext4 en Kernel Newbies.
Para más información, verEl nuevo sistema de archivos ext4: estado actual y planes futurosdel Simposio de Linux de 2007.
Respuesta2
No hay uno, per se; Eso depende. Cuando creas un sistema de archivos ext4, decides el tamaño deltabla de inodos, que a su vez controla el número total de directorios o archivos que el sistema de archivos puede contener a la vez.
Respuesta3
No en Ubuntu, pero en Redhat Linux los comandos básicos como buscar fallan con un "Error de demasiados argumentos" cuando se ejecutan en un directorio que contiene 3 millones de archivos. ls se ejecuta correctamente si no se incluyen parámetros, pero falla con el mismo error tan pronto como se agregan los parámetros de filtro.
Suponiendo que la confiabilidad de comandos tan básicos sea un requisito obligatorio, sugeriría que 3 millones de archivos son demasiados.