Как установить и использовать CPULimit на CentOS 7

CPULimit - это утилита Linux, предлагаемая для ограничения использования ресурсов приложения. Это полезно, когда вы хотите предотвратить замедление работы одного приложения другими приложениями; или остановить приложение от использования всего ядра или ядер в течение длительного периода времени.

Сказав это, CPULimit может работать не со всеми приложениями, поскольку (по сути) запускает / останавливает процессы с интервалами, чтобы снизить нагрузку на процессор (выраженную в виде среднего значения). Это будет объяснено в следующем разделе.

Как это работает?

CPULimit не предназначен для работы с приложениями, которые, например, используют управление заданиями; поскольку они могут быть уничтожены, когда CPULimit отправляет SIGSTOPсигнал остановки ( ). По сути, приложения будут быстро включаться / выключаться, чтобы ограничить программу желаемым числом циклов.

Не беспокойтесь - большинство приложений будут работать. Некоторые приложения, которые могут быть ограничены, включают PHP, Java и Nginx.

Предпосылки

Для успешной установки CPULimit вам потребуется:

  • Сервер под управлением CentOS 7 (только для 64-битных систем).
  • make, screenИ wget.
  • Корневой доступ или sudoпривилегии.

Установка CPULimit

Предполагая, что у вас установлены все необходимые компоненты, вы сможете быстро пройти процесс установки. Для начала вам нужно скачать CPULimit и распаковать архив:

cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz

Когда архив завершит распаковку, мы можем войти во вновь созданный каталог и начать компиляцию CPULimit:

cd cpulimit-2.5

Теперь запустите, makeчтобы начать компиляцию CPULimit в двоичный файл:

make

Как только этот процесс завершится, у вас будет двоичный файл в cpulimit-2.5каталоге. Чтобы сделать его доступным для всей системы, нам нужно выполнить следующую команду:

make install

Это может занять некоторое время.

Настройка CPULimit с помощью приложения

Чтобы использовать CPULimit, нам нужно знать идентификатор процесса. Это известно как PID. Используя topмы можем увидеть список наших процессов:

top -c

Вы увидите список процессов, и он должен выглядеть следующим образом:

Tasks: 130 total,   1 running, 129 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3881740 total,   191952 free,   413472 used,  3276316 buff/cache
KiB Swap:  4063228 total,  4062912 free,      316 used.  2881364 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1336 plex      35  15 1368172  67464   6668 S   0.3  1.7 155:41.58 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-995f1dead+
31345 root      20   0  326572  21844  12784 S   0.3  0.6  86:45.32 docker-containerd --config  /var/run/docker/containerd/containerd.toml
    1 root      20   0  193704   6744   4088 S   0.0  0.2   6:49.22 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    2 root      20   0       0      0      0 S   0.0  0.0   0:01.45 [kthreadd]
    3 root      20   0       0      0      0 S   0.0  0.0   0:12.77 [ksoftirqd/0]
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]
    7 root      rt   0       0      0      0 S   0.0  0.0   0:13.95 [migration/0]

plexНапример, если мы хотим ограничить , нам нужно принять к сведению PID. В этом случае это так 1336. Если мы хотим ограничить plex15% процессорного времени, нам нужно создать screenи выполнить cpulimit:

screen -S limitcpu
cpulimit -p 1336 -l 15

Чтобы выйти из экрана, используйте следующую комбинацию: CTRL+ A+ D. Чтобы войти в экран после выхода, просто выполните следующее:

screen -r limitcpu

Общий формат для запуска cpulimitбудет ниже:

cpulimit -p (PROCESS PID) -l (CPU %)

Примечание : PROCESS PIDэто идентификатор процесса и CPU %ограничение процессора.

Деинсталляция CPULimit

Удалить CPULimit просто. Выполните следующие команды:

cd ~/cpulimit-2.5
make deinstall

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше