При работе в системе на базе Linux множество процессов работают в фоновом режиме, потребляя системные ресурсы, такие как процессор и время. Как правило, операционная система управляет такими процессами автоматически, однако иногда ресурсоемкий процесс может чрезмерно задействовать центральный процессор. Такое чрезмерное использование процессора может быть вызвано интенсивной обработкой или плохой разработкой. В таких случаях пользователи либо напрямую завершают процесс, либо снижают его использование ЦП до определенного предела. В системах на базе Linux пользователи могут ограничить использование процессора с помощью утилиты командной строки под названием CPULimit.
В этом посте представлено пошаговое руководство по установке и использованию утилиты CPULimit в Linux для эффективного мониторинга процессора.
Как установить CPULimit для мониторинга процессора в Linux
Чтобы использовать эту утилиту, сначала нужно установить ее, выполнив следующие шаги:
Шаг 1: Обновление системных репозиториев
Прежде чем приступать к установке любого инструмента, рекомендуется обновить систему. Для этого выполните данную команду в терминале Linux:
sudo apt update
Шаг 2: Установите CPULimit
После обновления системы выполните следующую команду, чтобы установить инструмент на машину Ubuntu:
apt install cpulimit
После успешного выполнения вышеуказанной команды CPULimit будет успешно установлен на вашу систему:
Важно: Чтобы установить CPULimit на RHEL, CentOS или Fedora, сначала включите репозиторий epel, а затем воспользуйтесь приведенными ниже командами:
yum install epel-release
yum install cpulimit
Шаг 3: Проверка установки CPULimit
Чтобы проверить установку и увидеть номер версии и экран справки, выполните следующую команду в терминале:
cpulimit --version
Следующий фрагмент проверяет установку программы на нашей системе Ubuntu:
Теперь у нас есть правильные инструменты для ограничения количества CPU, которое может использовать процесс в нашей системе Linux.
Как использовать CPULimit для контроля процессора в Linux
После успешной установки CPULimit вы можете использовать его для ограничения использования процессора процессом. Для этого сначала найдите Process ID (PID) процесса, который вы хотите ограничить (для использования ЦП). Чтобы найти/проверить идентификатор процесса, вы можете выполнить такие команды, как top, htop или ps. Например, в приведенном ниже фрагменте мы используем команду top, чтобы найти все процессы, которые потребляют процессорное время:
top
Из приведенного выше фрагмента видно, что процесс с идентификатором «6587» потребляет 99% процессорного времени. Чтобы ограничить процент процессорного времени, вы можете использовать CPULimit следующим образом:
cpulimit -pid <PID> -limit <percent>
В приведенном выше синтаксисе <percent> представляет собой процент использования процессора, которым вы хотите ограничить процесс, а <PID> — идентификатор процесса.
Теперь, чтобы ограничить использование процессора процессом с PID «6587» до 60%, необходимо выполнить команду cpulimit следующим образом:
cpulimit --pid 6587 --limit 60
Выбранный процесс обнаружен, и теперь он не будет превышать 60 % загрузки процессора:
Примечание: Когда CPULimit запущен, он делает оболочку неинтерактивной, то есть не ожидает никакого пользовательского ввода. Нажмите комбинацию клавиш «Ctrl + C», чтобы остановить операцию ограничения использования процессора.
Вы можете использовать опцию -b, чтобы запустить cpulimit в фоновом режиме. Другой вариант — использовать команду screen.
В следующей таблице показаны различные варианты использования команды cpulimit:
Команда | Описание |
cpulimit —pid <ProcessID> —limit <limit> —background | Используйте параметр —background или -b с командой CPULimit, чтобы запустить ее в качестве фонового процесса. |
cpulimit —pid <ProcessID> —limit <limit> —kill | Используйте опцию —kill или -k, чтобы убить процесс, а не ограничивать его. |
cpulimit —pid <ProcessID> —limit <limit> —cpu <number of CPU cores> | Используйте опцию —cpu или -c с командой CPULimit, чтобы указать количество ядер процессора в вашей системе. |
cpulimit —pid <ProcessID> —limit <limit> —kill —lazy | Используйте опцию -z или —lazy с командой CPULimit для выхода (если нет целевого процесса или в случае его завершения). |
man cpulimit | Используйте эту команду, чтобы узнать дополнительную информацию о команде cpulimit и параметрах ее использования. |
Как удалить CPULimit из Linux/Ubuntu
Если по какой-то причине CPULimit больше не нужен, вы можете удалить его с помощью команды:
sudo apt remove cpulimit
Вот и все об установке и использовании CPULimit в Linux для мониторинга процессора.
Заключение
CPULimit — это утилита для систем на базе Linux, которая используется для ограничения загрузки процессора процессом. Это отличный инструмент, который необходимо иметь в арсенале системных администраторов.
А ще подібна команда є, що понижує пріоритет програмки, а це значить що ядро ОС саме знає що процесу видати лише вільний процесорний час:
renice -n 19 -p `pidof firefox`