На этот вопрос уже есть ответ:
Некоторое время назад я случайно создал сотни тысяч файлов в моем домашнем каталоге, которые я впоследствии удалил.
Однако с тех пор запуск 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
У меня была та же проблема, и причиной была ссылка на папку сетевого диска, которая не работала больше. После удаления его все начинает загружаться немедленно.
Попробуйте ls -1 -f /directory
, если у нас есть огромное количество файлов в каталоге.
-1
имя файла списков один на строку. -f
отключает сортировку. Большинство файловых систем не уплотняет каталоги после удалений. То, что работало на меня, является ответом на этот более старый вопрос :
создание сотен тысяч файлов, возможно, создало много степеней файловой системы, которые не обязательно становятся удаленными, когда файлы удалены. Получите "счет фрагментации" с:
sudo e4defrag -c ~/
и если счет плох (выше, чем 50, скажите), используйте ту же команду без '-c' флаг для дефрагментации файловой системы.