ls в домашнем каталоге очень медленно [дубликат]

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

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

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

Изменить: Как было предложено в комментариях, вывод

find ~ / -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 
6
задан 4 June 2014 в 14:35

4 ответа

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

4
ответ дан 4 June 2014 в 14:35

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

  • -1 имя файла списков один на строку.
  • -f отключает сортировку.
5
ответ дан 4 June 2014 в 14:35

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

  • Создают новую папку
  • Копия, существующие файлы и папки к новой папке
  • Удаляют медленную папку
  • , Переименовывают новое имя папки к старому имени папки
1
ответ дан 7 October 2019 в 17:40

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

sudo e4defrag -c ~/

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

2
ответ дан 23 November 2019 в 07:26

Другие вопросы по тегам:

Похожие вопросы: