ls comando muito lento após a exclusão de mil arquivos em um diretório

0

Eu tenho um diretório em / home / myuser dir que um aplicativo armazena e exclui milhões de arquivos temporários. Quando eu faço ls neste dir (agora só tem cem arquivos) ele é muito lento (na verdade eu não recebo nenhuma saída por muitos minutos). Depois de alguma pesquisa no google e fazendo:

ls -dl ~/mydir/

Eu entendo isso

drwxrwxrwx 2 myuser myuser 160108544 Oct 12 11:31 /home/myuser/mydir/

que basicamente significa que eu tenho que re-indexar entradas de diretório para este diretório (se eu entendi corretamente). Como faço para forçar uma re-indexação nesse diretório?

    
por Alexandros 03.12.2013 / 12:25

2 respostas

1

Depende do tipo de sistema de arquivos underlaying usado, a maioria do sistema de arquivos não compacta os diretórios após uma exclusão.

Desmonte o sistema de arquivos e use e2fsck -D para otimizar os diretórios.

Se esse problema ocorrer muitas vezes, você deve considerar usar um sistema de arquivos dedicado para esse diretório. Você deve usar um tipo de sistema de arquivos diferente, não sei qual deles compactará dinamicamente as entradas de diretório, o Btrfs por design é anunciado para não sofrer desse problema.

    
por Emmanuel 03.12.2013 / 16:46
0

Crie um novo diretório, mova os arquivos restantes para o novo diretório, remova o antigo e renomeie o novo para o nome antigo.

    
por psusi 03.12.2013 / 15:45