
Há algum tempo, criei acidentalmente centenas de milhares de arquivos em meu diretório pessoal, que posteriormente excluí.
Desde então, porém, executar ls no meu diretório pessoal tem sido extremamente lento (levando dezenas de segundos para imprimir). Também tem sido lento em outros diretórios (como levar 1s para imprimir) e a conclusão da guia tem sido lenta em todos os lugares (também dezenas de segundos).
Qual pode ser o problema?
Editar: conforme sugerido nos comentários, a saída do
encontre ~/ -maxprofundidade 1 | Banheiro
é 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
Responder1
Eu tive o mesmo problema e o motivo foi um link para uma pasta da unidade de rede que não funcionava mais.
Para ver se este é o seu caso, obtenha uma lista dos links com:
find . -maxdepth 1 -type l -ls
Tente ls
com cada um, aquele que está quebrado também irá travar ls
, então pressione Ctrl-C para abortá-lo.
Depois de removê-lo, rm
tudo começa a carregar instantaneamente.
Responder2
Tente ls -1 -f /directory
se tivermos um grande número de arquivos no diretório.
-1
lista o nome do arquivo um por linha.-f
desativa a classificação.
Responder3
a criação de centenas de milhares de arquivos pode ter criado muitas extensões de 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 (acima de 50, digamos), use o mesmo comando sem o sinalizador '-c' para desfragmentar o sistema de arquivos.
Responder4
A maioria dos sistemas de arquivos não compacta diretórios após exclusões. O que funcionou para mim é a resposta para issopergunta mais antiga:
- Criar uma nova pasta
- Copie arquivos e pastas existentes para a nova pasta
- Exclua a pasta lenta
- Renomeie o novo nome da pasta para o nome da pasta antiga