Como acelerar a listagem de diretórios em partições de alto inode?

2

Tenho quase 7.000 arquivos em um único diretório, o que torna o carregamento desse diretório específico um diretório tedioso e demorado. Existe alguma maneira de listar e executar operações em arquivos nesse diretório mais rapidamente, em vez de distribuir os arquivos em várias subpastas (o que torna ainda mais difícil)?

Estou usando o ext4. Mas também recebeu o mesmo dos sistemas de arquivos efs.

    
por Snazzy Sanoj 07.03.2015 / 21:18

1 resposta

0

Um diretório grande pode ser problemático por vários outros motivos além da simples listagem de arquivos. Por um lado, o tempo que leva para abrir um arquivo nesse diretório aumentará porque o diretório deve ser lido até que o arquivo seja encontrado. Em muitos sistemas de arquivos, incluindo ext *, entradas de diretório não organizadas nem otimizadas para eficiência de recuperação.

Respondendo a sua pergunta específica, acho que você vai encontrar usando ls leva algum tempo devido à triagem envolvida. Uma solução é rodar ls unsorted (se houver tal opção em sua distribuição de ls). Especificamente, eu poderia ser desviada para um arquivo e o tipo. Eu então tenho o arquivo para me referir sem ter que fazer outro ls por um tempo.

Outro método semelhante é usar o comando find e listar o conteúdo do diretório em um arquivo (que será não classificado) e, em seguida, ir a partir daí.

Assim, minha sugestão seria baseada na acessibilidade, na eficiência e na fácil localização de arquivos, para usar vários subdiretórios.

    
por 08.03.2015 / 04:12

Tags