Использование Ubuntu Server в микроблоке AWS, поэтому , если пики загрузки ЦП AWS фактически убьют ЦП для бокса (примерно на 30 секунд).
nice
не решает проблему, но cpulimit
решает (я использую это в своих собственных задачах cron с интенсивным использованием процессора).
Некоторые системные задания cron по умолчанию запускают ограничитель процессора AWS.
Существует около 15 сценариев заданий по умолчанию для cron, вместо того, чтобы пытаться переписать каждый для использования cpulimit, есть ли способ, которым я могу использовать cpulimit, чтобы ограничить процессор всех заданий cron (это должны ли включать подпроцессы , которые создаются различными сценариями)?
Похоже, я нашел ответ на свой вопрос, замечательный материал здесь: скрипт демона cpulimit, который работает во всей коробке.
Я понимаю, что это первоначально спросили в 2011, но в наше время можно достигнуть подобного результата путем изменения cron.service
ограничить приоритет ввода-вывода и ЦП:
$ sudo systemctl edit cron.service
# edits go to /etc/systemd/system/cron.service.d/override.conf
По умолчанию это также относится к подпроцессам, порожденным кроном. Я использую что-то вроде этого:
[Service]
Nice=19
CPUSchedulingPolicy=idle
IOSchedulingClass=idle