Qual é o limite de arquivo típico de uma pasta em sistemas de arquivos * nix?

5

Obviamente, se você colocar muitos arquivos em uma pasta, a eficiência de várias operações de arquivo será reduzida (por exemplo, ls leva um lote por mais tempo). No entanto, qual é o limite de quantos arquivos você pode colocar em uma pasta antes que ela engula em você? Obviamente, isso pode variar de sistema de arquivos para sistema de arquivos, mas eu acho que eles seriam pelo menos semelhantes em seus limites. Você pode colocar arquivos lá dentro até ficar sem espaço em disco, ou vai se deparar com algum tipo de limite, como você pode colocar apenas 65536 (ou algum outro múltiplo de 2) arquivos em uma pasta antes que seu sistema de arquivos engasgue com você?

Estou mais interessado em jfs, já que é o que uso principalmente para minhas partições grandes, mas seria bom saber para sistemas de arquivos * nix em geral.

    
por Jonathan M Davis 20.11.2010 / 03:55

1 resposta

5

No antigo UFS, o tamanho do diretório era limitado apenas pelo espaço em disco, já que os diretórios são apenas arquivos que - como outros arquivos - têm um comprimento efetivamente ilimitado. Eu não sei, mas espero que o JFS não seja diferente.

Quanto a quanto é demais, isso me lembra da história do gerente que percebe que quando há mais de 8 usuários na máquina, o desempenho cai drasticamente, então ele pede ao administrador do sistema para localizar o 8 no código. e mude para 16. A questão é que não há 8, é uma propriedade emergente do sistema como um todo. Como saber o quão grande é grande demais? A única maneira prática é adicionar entradas até que demore mais tempo do que você deseja. Esta é obviamente uma abordagem bastante subjetiva, mas não há outra.

Se você deseja armazenar arquivos de 65k +, provavelmente há abordagens melhores dependendo da natureza dos seus dados e de como você deseja acessá-los.

    
por 20.11.2010 / 06:02