Ускорение удаления большого каталога путем запуска rm -rf на нескольких терминалах
У меня есть очень большой каталог, который я удаляю с помощью: rm - rf . Это занимает очень много времени, поэтому я открыл другой терминал и попытался удалить тот же каталог с помощью команды rm -rf параллельно.
Ожидается ли, что это ускорит удаление каталога? Или есть шанс, что это на самом деле приводит к замедлению
1 ответ
Попытайся. Точная производительность зависит от многих переменных, поэтому результаты зависят от конкретной среды. Вероятно, это будет не так хорошо, как в 2 раза, как вы ожидаете, и может быть даже хуже.
Тяжелые операции с метаданными в файловой системе выполняют большое количество операций ввода-вывода и приводят к конфликтам в механизмах параллелизма файловой системы. Подводя итоги работы над документом USENIX " Понимание масштабируемости многоядерных файловых систем",
- Мелкозернистые блокировки часто препятствуют масштабируемости
- Тонкие споры имеют значение
Также рассмотрите возможность использования некоторых приемов хранения, чтобы ускорить использование систем.
Смонтируйте том, который будет удален во второй раз, /mnt/manyfiles
и смонтировать пустой каталог поверх текущего местоположения, скажем, что это /srv/whatever
, Теперь вы можете удалять по своему усмотрению, пока приложение видит пустой каталог.
Создание новых файловых систем с точкой монтирования в проблемном каталоге /srv/whatever
, В следующий раз, когда его нужно будет сдуть, удаление и воссоздание тома LVM происходит намного быстрее, чем удаление тысяч или миллионов файлов.