Під час роботи в системі на базі 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`