Как я могу ограничить использование процессора моим сценарием резервного копирования. Он выполняет дамп mysql db и резервное копирование моего каталога www, затем bzip2 все, но это занимает немного времени, и в течение этого времени процессор загружается на 100%. Могу ли я каким-то образом ограничить процессор до максимум 25 @, для создания резервной копии потребуется больше времени, но другие фоновые процессы не остановятся.
Вы не хотите ограничивать использование ЦП процентами - в конце концов, если ЦП больше нечего делать, он может выделить 100% на ваш скрипт.
Вы хотите, чтобы в других программах приоритет над вашим сценарием резервного копирования. Для этого просто вызовите скрипт, используя nice
:
nice mybackupscript
Это запустит сценарий с низким приоритетом, таким образом он получит процессор только в том случае, если другие процессы простаивают.
Часто в сценариях резервного копирования узким местом является не ЦП, а дисковый ввод-вывод. В этом случае команда nice мало повлияет на нагрузку на вашу систему. iostat, который входит в SYSSTAT, может помочь вам в дальнейшем расследовании. Также, эта почта подробно описаны другие утилиты ввода-вывода.
ionice может помочь некоторым. Однако ionice будет работать только с Планировщик CFQ. CFQ стал по умолчанию в> Linux 2.6.18. RHEL4 предоставляет ядро 2.6.9, однако оно все еще используется по умолчанию в RHEL4 и новее.
cpulimit делает именно то, что вам нужно.
Запустить скрипт с самым низким приоритетом:
nice -39 /scripts/script_name.sh