У меня есть сценарий, содержащий около 420 тыс. Строк команды «rm -rf», подобную той, которая была сгенерирована с использованием оператора «find». Каждый pdfпапка содержит от 1 до 30 файлов (без вложенных папок).
rm -rf /2012/128/211503/pdf
rm -rf /2012/128/212897/pdf
rm -rf /2012/128/211989/pdf
rm -rf /2012/128/211691/pdf
rm -rf /2012/128/212539/pdf
rm -rf /2012/218/358976/pdf
rm -rf /2012/218/358275/pdf
rm -rf /2012/218/358699/pdf
Ищу как увеличить скорость удаления скрипта.
В настоящее время, vmstat сообщать только о времени ожидания (IO).
Платформа - это RHEL 5, удаляющий файлы на диске RAID5 / 6 с использованием ext3 и LVM.
Я думал о разделении файла сценария на файлы меньшего размера (например, 10 файлов), чтобы запускать несколько сценариев параллельно, но здесь я замечаю ограничение скорости оборудования.
Было бы это хорошей идеей, если бы обязательство по удалению для журнализации потребовало времени, и может ли оно быть частью такой функции, как NCQ?
Если вы используете найти чтобы сгенерировать скрипт, вы должны взглянуть на -delete
действие
Удалить файлы; истина, если удаление прошло успешно. Если удаление не удалось, выдается сообщение об ошибке. Если -delete завершается неудачно, статус выхода find будет отличным от нуля (когда он в конечном итоге завершится). Использование -delete автоматически включает параметр -depth
Вы могли бы использовать Трещина чтобы разбить файл на куски. Вы можете получить пробег из GNU Parallel слишком.