Назад | Перейти на главную страницу

Приостановка удаления каталогов при высокой загрузке

У меня есть список каталогов, которые я хочу удалить. Однако когда я делаю их все одновременно, нагрузка на коробку резко возрастает. Есть ли у кого-нибудь пример сценария, который будет ждать, пока загрузка не опустится ниже определенного уровня, прежде чем продолжить удаление (взаимодействие цикла)

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

Здесь есть хорошая запись http://www.depesz.com/2010/04/04/how-to-remove-backups/ по систематическому контролируемому подходу.

Изменение планировщика io, удаление журналов, atime и diratime также являются дополнительными факторами. Также существует другой двоичный файл для удаления fastrm Вы можете найти мужчину здесь http://linux.die.net/man/1/fastrm

Не пытайтесь это дома

Некоторое время назад мы тестировали более быстрые методы удаления для терабайт данных. В конце концов, оказалось, что начать rm или mv затем прервите процесс с помощью ^c. Затем перезапустите машину с принудительной fsck - который затем очистит inodes и освободит последующее пространство в файловой системе.

Он работал на удивление хорошо и намного быстрее, чем традиционное удаление, но я бы никогда не стал делать это в производственной системе. Когда-либо.

А еще лучше использовать ionice.

ionice -c3 ./deletion-script

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