У наступній статті ми збираємось поглянути на CPULimit. Це інструмент командного рядка, який обмежує використання процесора процесом (виражене у відсотках, а не в часі процесора). Це буде корисно для контролю пакетних завдань, коли ми не хочемо, щоб процес споживав занадто багато циклів процесора.
За допомогою цього інструменту ми не збираємося змінювати значення або інші пріоритетні налаштування, а фактичне використання центрального процесора. Крім того, він здатний динамічно та швидко пристосовуватися до загального навантаження системи. Контроль кількості використовуваного процесора здійснюється шляхом надсилання сигнали НАСТУПНА ЗУПИНКА y НАДАЛЬШЕ POSIX до процесів. Усі дочірні процеси та потоки зазначеного процесу матимуть однаковий відсоток процесора.
Встановіть CPULimit
CPULimit є доступні у більшості сховищ за замовчуванням Unix-подібних дистрибутивів. Ми можемо встановити його за допомогою менеджерів пакетів за замовчуванням у відповідному дистрибутиві Gnu / Linux. У наведеному прикладі ми побачимо, як встановити його на Debian, Ubuntu та Linux Mint. Нам залишиться лише відкрити термінал (Ctrl + Alt + T) і написати в ньому таку команду:
sudo apt-get install cpulimit
Хто хоче, може проконсультуватися з іншими типами об'єктів в сторінка проекту GitHub.
Використання CPULimit
Після встановлення інструменту настав час подивитися, як він працює. Для цього ми збираємося запустити програму, яка споживає багато ресурсів ЦП. Наступні команди повинні виконуватися як кореневий користувач.
Створення сценарію, який споживає ресурси ЦП
Спочатку ми збираємось створити файл із назвою derrochecpu.sh. Я збираюся використовувати Редактор Vim, але щоб кожен використовував ту, яку віддає перевагу. З терміналу (Ctrl + Alt + T) нам доведеться написати:
vim derrochecpu.sh
Після відкриття ми натиснемо клавішу 'Esc' і потім 'i'. Тепер ми додамо наступні рядки:
#!/bin/bash while :; do :; done;
Після цього пора економити та виходити. Для цього ми натиснемо клавішу 'Esc'і ми напишемо : WQ щоб зберегти та закрити файл. Цей короткий сценарій буде повторювати плавно, споживаючи максимальне використання процесора. Тому рекомендується протестувати його на віртуальній машині.
Зараз ми зробимо цей файл виконуваним. Для цього з того ж терміналу (Ctrl + Alt + T) ми виконаємо:
chmod +x derrochecpu.sh
Запуск сценарію
Тепер ми запустимо процес у фоновому режимі. Ми зробимо це за допомогою команди:
./derrochecpu.sh &
Ми збираємося зберегти PID процесу. У цьому випадку 6472 є ПІД запущеного процесу.
Перевірка, скільки процесора він споживає
Ми можемо бачити кількість процесора, яку споживає процес, який ми щойно запустили, використовуючи команда «top» в тому самому терміналі:
top
Як видно на скріншоті вище, процес wastecpu.sh споживає більше 96% використання процесора. Оскільки він споживає багато процесора, важко виконувати інші завдання. Через кілька хвилин, система може вийти з ладу або завмерти. Тут нам допомагає CPULimt.
Обмеження використання процесора PID
Тепер давайте обмежимо використання ЦП цим процесом за допомогою інструмента CPULimit. Ми збираємося обмежте використання ЦП до 35% за допомогою відповідного ПІД (приблизно). Для цього виконайте:
cpulimit -l 35 -p 6472 &
- Варіант "-л 35»Обмежує процес приблизно 35%.
- «-p 6472»Це ПІД derrochecpu.sh, який ми бачили раніше.
Перевірка ефекту CPULimit
Як тільки попередня команда буде запущена, давайте ще раз перевіримо використання процесора. Для цього ми знову використаємо команду top:
top
Як ви можете бачити на зображенні вище, використання процесора wastefulcpu.sh впало до 35,6%, що дуже близько до 35%. Зараз я ми можемо мати більше ресурсів ЦП для запуску інших процесів.
Обмеження використання центрального процесора за назвою файлу
Ми бачили, як обмежити процес за допомогою PID. Так само ми можемо виконати команду CPULimit із зазначенням імені виконуваного програмного файлу.
Наприклад, той самий приклад вище:
cpulimit -l 30 ./derrochecpu.sh &
CPULimit може бути корисним під час запуску процесу, який забирає занадто багато процесора. Наступного разу, коли ми помітимо, що програма споживає занадто багато процесора, нам просто доведеться знайти PID процесу за допомогою команди «топ«. Коли він у вас є, вам просто потрібно обмежити використання процесора до мінімального значення за допомогою команди CPULimit, як описано в цій статті.
Видаліть CPULimit
Видалити цей інструмент з нашої системи так само просто, як відкрити термінал (Ctrl + Alt + T) і ввести в нього:
sudo apt remove cpulimit
Що описано в цій статті це лише приклад. Очевидно, що ніхто в здоровому розумі не запустить на своєму комп’ютері такий сценарій, як описаний тут.
Привіт
Він ідеально підходить для старого ПК, який я маю з процесором amd64 x2, який, схоже, має проблеми з охолодженням, і коли процес споживає багато процесора протягом декількох хвилин, він нагрівається до 100 ° C і вимикається.
Таким чином, коли я бачу, що процес (як правило, деякі веб-сайти чи програми для відтворення відео) змушує мене підвищувати температуру процесора, я буду використовувати cpulimit для видалення "потужності" з цього процесу.
Грекіас