Команда ls очень медленная после удаления тысячи файлов в каталоге

У меня есть каталог в / home / myuser dir, который приложение хранит и удаляет миллионы временных файлов. Когда я делаю ls для этого каталога (сейчас он содержит только сотню файлов), он работает слишком медленно (на самом деле я не получаю вывод в течение многих минут). После некоторого поиска и поиска в Google:

ls -dl ~/mydir/

я получаю это

drwxrwxrwx 2 myuser myuser 160108544 Oct 12 11:31 /home/myuser/mydir/

, что в основном означает, что я должен переиндексировать записи каталога для этого каталога (если я правильно понял). Как мне сделать такую ​​переиндексацию в этом каталоге?

2
задан 3 December 2013 в 20:09

2 ответа

Это зависит от используемого вами типа файловой системы: большинство файловых систем не удаляет каталоги после удаления.

Размонтируйте файловую систему и используйте e2fsck -D для оптимизации каталогов.

Если эта проблема возникает много раз, вы должны рассмотреть возможность использования выделенной файловой системы для этого каталога. Вам следует использовать другой тип файловой системы, я не знаю, какая из них будет динамически сжимать записи каталога, так как Btrfs по своему дизайну объявляется так, чтобы не страдать от этой проблемы.

0
ответ дан 3 December 2013 в 20:09

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

0
ответ дан 3 December 2013 в 20:09
  • 1
    Не уверенный, что необходимо определить версию. sudo apt-get install libusb-dev хорошо работал для меня. – Charlie Joynt 7 December 2016 в 00:19

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

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