Как ограничить процессы в процентах на Linux сервере

Что такое Cpulimit

Cpulimit — это инструмент, который помогает ограничить использование процессора определенным процессом, выраженным в процентах, а не во времени. Это удобно, когда вы хотите контролировать ресурсы, которые различные программы используют, чтобы не допустить, чтобы одна программа забирала слишком много процессорного времени. Его цель — предотвратить ситуацию, когда процесс занимает больше ресурсов, чем нужно. Он не изменяет приоритет или другие настройки планирования, но реально ограничивает использование процессора. Кроме того, он быстро реагирует на изменения нагрузки системы. Cpulimit контролирует использование процессора, отправляя соответствующим процессам сигналы SIGSTOP и SIGCONT POSIX. Все дочерние процессы и потоки этого процесса будут использовать одинаковый процент процессорного времени.

Как установить Cpulimit

Начнём с того, что мы заходим на наш сервер и выполняем определённую команду.

Ubuntu/Debian: apt install cpulimit
CentOS/RHEL: yum install cpulimit
Как ограничить процессы в процентах на Linux сервере

Мы устанавливаем ограничение на использование процессора с помощью параметра —limit или -l, чтобы определить процент, который мы хотим разрешить для процесса. Прежде чем устанавливать это ограничение, нам нужно найти процесс, который активно использует всё процессорное время.

Мы открываем окно терминала и запускаем команду «top«, чтобы увидеть, какой процесс сейчас занимает больше всего процессорного времени. Как только мы определили этот процесс, мы записываем его PID (идентификатор процесса). Затем мы выполняем специальную команду, чтобы установить ограничение на использование процессора этим процессом. В этой команде, где указано «process_pid«, мы подставляем PID найденного процесса, а где «cpu» — процент процессорного времени, который мы хотим ему выделить.

cpulimit -p process_pid -l 20
Как ограничить процессы в процентах на Linux сервере

Мы замечаем, что «cpulimit» обнаружил такой процесс. После этого мы открываем еще одно соединение с сервером и еще раз используем команду «top«, чтобы проверить текущую нагрузку.

Как ограничить процессы в процентах на Linux сервере

Как мы видим, теперь процесс действительно использует не все 100% процессорного времени, а лишь 23%, что немного больше, чем мы указали.

Чтобы «cpulimit» продолжал ограничивать процесс, даже когда мы выйдем из сеанса на сервере, мы добавляем параметр —background или -b к команде. Таким образом, команда выглядит так:

cpulimit -p process_pid -l 20 -b

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

 

 

 

 

 

Наши услуги

Цены

▪ Стабильные.
▪ В рублях.
▪ Не зависят от $ и €.
▪ Мы  !
▪ Скидка при оплате за год!

Юридическим лицам

Договор и полный комплект бухгалтерских документов по почте.