ls в домашнем каталоге очень медленный

ls в домашнем каталоге очень медленный

Некоторое время назад я случайно создал сотни тысяч файлов в своем домашнем каталоге, которые впоследствии удалил.

Однако с тех пор запуск ls в моем домашнем каталоге стал чрезвычайно медленным (на печать уходят десятки секунд). Он также был медленным в других каталогах (на печать уходят 1 с), а автодополнение Tab было медленным везде (также десятки секунд).

В чем может быть проблема?

Редактировать: Как и предполагалось в комментариях, вывод

найти ~/ -maxdepth 1 | wc

равно 67, а вывод 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 

решение1

У меня была та же проблема, и причиной была ссылка на папку сетевого диска, которая больше не работала.

Чтобы узнать, относится ли это к вам, получите список ссылок:

find . -maxdepth 1 -type l -ls

Попробуйте lsс каждым из них, тот, который сломан, также будет заблокирован ls, поэтому нажмите Ctrl-C, чтобы отменить операцию.

После его удаления rmвсе начинает загружаться мгновенно.

решение2

Попробуйте ls -1 -f /directory , если в каталоге имеется огромное количество файлов.

  • -1выводит список имен файлов по одному в строке.
  • -fотключает сортировку.

решение3

Создание сотен тысяч файлов могло создать множество экстентов файловой системы, которые не обязательно удаляются при удалении файлов. Получите "оценку фрагментации" с помощью:

sudo e4defrag -c ~/

а если оценка плохая (например, выше 50), используйте ту же команду без флага «-c» для дефрагментации файловой системы.

решение4

Большинство файловых систем не сжимают каталоги после удаления. Что сработало для меня, так это ответ на этот вопросстарый вопрос:

  • Создать новую папку
  • Скопируйте существующие файлы и папки в новую папку.
  • Удалить медленную папку
  • Переименуйте новую папку в старое имя.

Связанный контент