Eu tive o mesmo problema e o motivo foi um link para uma pasta de unidade de rede que não estava mais funcionando. Depois de removê-lo, tudo começa a carregar instantaneamente.
Há algum tempo, eu acidentalmente criei centenas de milhares de arquivos em meu diretório pessoal, que foram excluídos posteriormente.
Desde então, no entanto, a execução de ls no meu diretório pessoal tem sido extremamente lenta (levando dezenas de segundos para imprimir). Ele também tem sido lento em outros diretórios (como em tirar 1s para imprimir) e a conclusão da tabulação tem sido lenta em todos os lugares (também em dezenas de segundos).
Qual poderia ser o problema?
Edit: Como sugerido nos comentários, a saída do
encontre ~ / -maxdepth 1 | wc
é 67 e a saída de df -h é
/dev/sda2 74G 8.4G 62G 12% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 12K 3.9G 1% /dev
tmpfs 795M 1.1M 794M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 4.9M 3.9G 1% /run/shm
none 100M 52K 100M 1% /run/user
/dev/sda1 825G 408G 376G 53% /home
AFS 8.6G 0 8.6G 0% /afs
/dev/sdb2 1.9T 584G 1.3T 32% /media/sj1/ResearchData1
/dev/sdc1 932G 409G 524G 44% /media/sj1/ResearchData2
Eu tive o mesmo problema e o motivo foi um link para uma pasta de unidade de rede que não estava mais funcionando. Depois de removê-lo, tudo começa a carregar instantaneamente.
A criação de centenas de milhares de arquivos pode ter criado muitas extensões do sistema de arquivos que não são necessariamente removidas quando os arquivos são removidos. Obtenha uma "pontuação de fragmentação" com:
sudo e4defrag -c ~/
e se a pontuação for ruim (maior que 50, digamos), use o mesmo comando sem o sinalizador '-c' para desfragmentar o sistema de arquivos.
Tente ls -1 -f /directory
se tivermos um grande número de arquivos no diretório.
-1
lista um nome por linha. -f
desativa a classificação. Tags command-line performance ls