CPUTool — ограничение и контроль использования CPU любым процессом в Linux
Одной из важнейших областей мониторинга производительности Linux должно быть использование ЦП и загрузки системы. Существует несколько инструментов мониторинга производительности Linux, чтобы следить за тем, как процессы работают в системе.
Ряд этих инструментов просто выводит состояние системы / статистику, а некоторые другие предоставляют вам средства управления производительностью системы. Расскажем про один из таких инструментов.
CPUTool — это простой, но мощный инструмент командной строки для ограничения и управления загрузкой CPU. Он также позволяет прерывать выполнение процесса, если загрузка системы превысит определенный порог.
Как работает CPUTool?
Чтобы ограничить использование ЦП, cputool передает сигналы SIGSTOP и SIGCONT в процессы, и это определяет загрузку системы. Он использует proc чтобы прочитать PID и использование процессора.
Он может быть использован для ограничения использования ЦП или загрузки системы под воздействием одного процесса или группы процессов до заданного предела и / или приостановки процессов, если загрузка системы выходит за пределы порогового значения.
Установите CPUTool для ограничения использования ЦП и его загрузки
CPUTool доступен только для установки на Debian / Ubuntu и его производных из системных репозиториев.
$ sudo apt install cputool
Ограничение использования CPU с помощью CPUTool
Теперь давайте посмотрим, как работает cputool. Чтобы продемонстрировать все это, мы запустим команду dd, которая должна привести к большому проценту загрузки процессора, в фоновом режиме и отобразить его PID.
# dd if=/dev/zero of=/dev/null &
Чтобы контролировать использование ЦП, мы можем использовать инструменты top или glances, которые позволяют нам просматривать постоянно обновляемое состояние работающих систем Linux в режиме реального времени:
# top
Из вышеприведенного вывода видно, что команда dd имеет самый высокий процент времени для CPU (99,7%). Теперь мы можем ограничить это c помощью cputool, как показано ниже.
Флажки -cpu-limit или -c ставят для установки процента использования процессов и -p для указания PID. Следующая команда ограничивает команду dd (PID 8275) до 50% использования одного ядра ЦП:
# cputool --cpu-limit 50 -p 8275
После запуска cputool мы снова можем проверить использование нового процессора для процесса (PID 8275). Теперь использование ЦП для процесса dd должно варьироваться от (49,0% -52,0%).
# top
Чтобы дополнительно ограничить использование процессора dd до 20%, мы можем запустить cputool во второй раз:
# cputool --cpu-limit 20 -p 8275
Затем сразу же проверяйте использование с помощью таких инструментов, как top или glances (использование ЦП для dd должно теперь варьироваться от 19.0% -22.0% или немного выше этого):
# top
Обратите внимание, что оболочка не ожидает ввода от пользователя во время работы cputool; Поэтому становится невосприимчивым. Чтобы убить его (закончить операцию ограничения использования ЦП), нажмите Ctrl + C.
Важно отметить, что для определения группы процессов (одна программа с несколькими работающими экземплярами, каждая из которых имеет отдельный PID), например, веб-сервер HTTP:
# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780
Используйте флаг -P следующим образом:
# cputool --cpu-limit 20 -P 1780
Ограничение загрузки системы с помощью CUPTool
Параметр -l используется для указания максимальной нагрузки, которую может пройти система, хотя процесс или группа процессов продолжают работать. Мы можем использовать дробное значение (например, 2.5).
Пример ниже означает запуск rsync для локальной резервной копии только тогда, когда загрузка системы не превышает 3,5:
# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/
Для получения дополнительной информации и использования просмотрите страницу руководства CPUTool:
# man cputool
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.