Как ограничить процессы в процентах на Linux сервере
Что такое Cpulimit
Cpulimit — это инструмент, который помогает ограничить использование процессора определенным процессом, выраженным в процентах, а не во времени. Это удобно, когда вы хотите контролировать ресурсы, которые различные программы используют, чтобы не допустить, чтобы одна программа забирала слишком много процессорного времени. Его цель — предотвратить ситуацию, когда процесс занимает больше ресурсов, чем нужно. Он не изменяет приоритет или другие настройки планирования, но реально ограничивает использование процессора. Кроме того, он быстро реагирует на изменения нагрузки системы. Cpulimit контролирует использование процессора, отправляя соответствующим процессам сигналы SIGSTOP и SIGCONT POSIX. Все дочерние процессы и потоки этого процесса будут использовать одинаковый процент процессорного времени.
Как установить Cpulimit
Начнём с того, что мы заходим на наш сервер и выполняем определённую команду.
Ubuntu/Debian: apt install cpulimit
CentOS/RHEL: yum install cpulimit
Мы устанавливаем ограничение на использование процессора с помощью параметра —limit или -l, чтобы определить процент, который мы хотим разрешить для процесса. Прежде чем устанавливать это ограничение, нам нужно найти процесс, который активно использует всё процессорное время.
Мы открываем окно терминала и запускаем команду «top«, чтобы увидеть, какой процесс сейчас занимает больше всего процессорного времени. Как только мы определили этот процесс, мы записываем его PID (идентификатор процесса). Затем мы выполняем специальную команду, чтобы установить ограничение на использование процессора этим процессом. В этой команде, где указано «process_pid«, мы подставляем PID найденного процесса, а где «cpu» — процент процессорного времени, который мы хотим ему выделить.
cpulimit -p process_pid -l 20
Мы замечаем, что «cpulimit» обнаружил такой процесс. После этого мы открываем еще одно соединение с сервером и еще раз используем команду «top«, чтобы проверить текущую нагрузку.
Как мы видим, теперь процесс действительно использует не все 100% процессорного времени, а лишь 23%, что немного больше, чем мы указали.
Чтобы «cpulimit» продолжал ограничивать процесс, даже когда мы выйдем из сеанса на сервере, мы добавляем параметр —background или -b к команде. Таким образом, команда выглядит так:
cpulimit -p process_pid -l 20 -b
После того как вы выполните эту команду, вы можете закрыть терминал и не беспокоиться о том, что любой сервис, который вы ограничили, снова создаст большую нагрузку на процессор.
Стабильные.
В рублях.
Не зависят от $ и €.
Мы ♥ !
Скидка при оплате за год!
Договор и полный комплект бухгалтерских документов по почте.