O ext4 possui um limite teórico de 4 bilhões de arquivos, que é restrito pelo tamanho do número de inode usado para identificar cada arquivo (o ext4 usa números de inode de 32 bits). No entanto, como John diz, ext4 aloca tabelas de inodes estaticamente, portanto o limite real é definido quando o sistema de arquivos é criado.
O comando df mostra uma contagem de inodes gratuitos no seu sistema de arquivos:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
O Ext4 também suporta um número ilimitado de subdiretórios por diretório, embora possa ter como padrão um limite de 64.000. Isso é configurável - veja o artigo ext4 em Iniciantes no Kernel .
Para obter mais informações, consulte O novo sistema de arquivos ext4: status atual e planos futuros do Simpósio Linux 2007.
tune2fs -l /path/to/device
e olhar para o valor de contagem Inode para encontrar qual é o limite para um determinado sistema de arquivosNão no Ubuntu, mas no Redhat Linux, comandos básicos, como find, falham com um 'erro de muitos argumentos' quando executados em um diretório que contém 3 milhões de arquivos. O ls é executado com sucesso se nenhum parâmetro for incluído, mas falhará com o mesmo erro assim que os parâmetros do filtro forem adicionados.
Supondo que a confiabilidade de tais comandos básicos seja um requisito obrigatório, sugiro que 3 milhões de arquivos sejam muitos.
fonte