Почему комната является медленной на диске внешнего устройства хранения (соединенный с USB, введите fuseblk) с 50 ГБ файлов?

Вы могли попробовать что-то вроде этого:

for dir in */; do             # iterate all subdirectories
    touch $dir"dummy.rar"     # create a "rar"-file...
    for file in $dir*.rar; do # ...so this won't break on zero such
        rm $file              # remove the dummy, and all archives
    done
done
21
01.12.2017, 03:07
4 ответа

В конечном счете, независимо от того, что Вы делаете, rm должен работать unlink на каждом файле, который Вы хотите удалить (даже если Вы звоните rm -r на родительском каталоге). Если существует много файлов для удаления, это может занять много времени.

Существует два особенно трудоемких процесса, когда Вы работаете rm -r:

  1. readdir, сопровождаемый,
  2. много вызовов к unlink.

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

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

Предположение, что файловой системой действительно является NTFS (это неясно от Вашего вопроса), NTFS является обычно довольно медленным при удалении большого, обматывает файлов. Вы могли бы рассмотреть использование более подходящей файловой системы в своих целях (более свежие файловые системы расширения имеют довольно хороший, удаляют производительность, если у Вас нет никаких других конкретных потребностей). Сам FUSE также не особенно быстро в целом. Вы могли бы рассмотреть наблюдение, если можно сделать это в некотором роде, которое не использует FUSE.

28
27.01.2020, 19:43
  • 1
    +1 Действительно много зависит от точной файловой системы - многие склонны работать действительно хорошо для некоторых операций будучи вялыми с другими (часто, это для создания файла по сравнению с удалением по сравнению с доступом к данным). –  peterph 21.12.2013, 13:32
[

] Почему rm так медленно? Понятия не имею. Но я знаю более быстрый способ: [

] [
mkdir blank
rsync -a --delete blank/ test/
] [

]Обновление: []Этот ответ [] на Serverfault имеет некоторые объяснения. Похоже, что rsync удаляет файлы в определенном порядке, что приводит к тому, что дерево файловой системы остается сбалансированным, и никогда не нуждается в перебалансировке. rm просто удалит файлы и вызовет много перебалансировки при их удалении. Есть некоторая информация о перебалансировке [] здесь [].[

].
15
27.01.2020, 19:43

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

iostat -x 1

чтобы проверить, высока ли утилита вашего диска, если да, это означает, что ваш диск довольно занят. Убедитесь, что некоторые другие процессы непрерывно записывают на диск.

Для простоты используйте

vmstat 1

, чтобы проверить, является ли b высоким или r < b . Это указывает на то, что что-то не так. В вашей ситуации я считаю диск io изначальной причиной.

1
27.01.2020, 19:43

В Debian rm работал очень медленно на внешнем USB-накопителе, по-видимому, из-за параметров монтирования по умолчанию, когда флешка вставлена ​​:

/dev/sdb1 on /media/user/KINGSTON type vfat (rw,nosuid,nodev,relatime,
    uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,
    iocharset=ascii,shortname=mixed,showexec,utf8,flush,
    errors=remount-ro,uhelper=udisks2)

Вероятно, flushздесь виноват.

В любом случае, установка его следующим образом rmснова ускорила работу.

# ! risk of data loss / corruption
sudo mount /dev/sdb1 /mnt/usb -o noatime,uid=1000,gid=1000

Обратите внимание, что монтирование таким образом приведет к потере данных или риску повреждения , если USB-накопитель не будет правильно отключен. Вероятно, это не рекомендуемый способ монтирования диска, но он может быть полезен для устранения неполадок, связанных с медлительностью, или в качестве временной меры.

0
06.06.2021, 23:37

Теги

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