Как да се ограничи използването на CPU на всеки процес в Linux
Били ли сте някога изпитали ситуацията, в която отваряте едно конкретно приложение (като Firefox) и то превръща цялата система в застой? Ако работите с уеб сървър, последното нещо, което искате да видите, е да имате приложение, което срива цялата система и премахва всички уеб сайтове.
Cpulimit е приложение за Linux, което може да ограничи използването на процесора от процесора. Това е полезно, ако искате да ограничите конкретно приложение да заема твърде много ресурси на процесора и по този начин да срине системата. Това може да бъде полезно, когато трябва да изпълнявате едновременно няколко интензивни програми.
Забележка : cpulimit трябва да работи за всички Linux дистрибуции. В този урок ние ще използваме Ubuntu за илюстрация.
Инсталация
В Ubuntu можете да инсталирате cpulimit чрез софтуера на Ubuntu, щракнете тук, за да инсталирате или напишете следната команда в терминала:
sudo apt-get инсталирате cpulimit
употреба
За да ограничите даден процес, използвайте командата
sudo cpulimit -p PID-l CPU%
PID е идентификационният номер на процеса на текущото приложение и CPU% е процентът (от 0 до 100, число) на ресурсите на процесора, разрешени за приложението. Можете да получите PID от System -> Administration -> System Monitor .
От горния екран можете да видите, че приложението Swiftfox (вариант на Firefox) заема 68% от ресурсите на процесора преди да е зададен лимитът на процесора. Да видим какво се случва, когато ограничим използването на процесора до 20%.
% CPU моментално пада под 20% и никога не го превъзхожда 20% марка отново.
Разширяване на cpulimit - Автоматизиране на целия процес
Cpulimit е полезно, когато срещнете приложение, което заема много ресурси от процесора, или трябва да изпълнявате партидна работа. Освен това можете да го настроите, за да наблюдавате системата за всяко злонамерено приложение. Това е особено полезно при настройка на сървъра.
abcuser от Ubuntu Forum излезе с великолепен скрипт, който автоматизира мониторинга на вашата система и ограничава всеки процес, който надхвърля предварително зададената граница на процесора. Сценарият ви позволява също така да зададете черен списък / белия списък за конкретни приложения.
Преди да започнете, уверете се, че сте инсталирали cpulimit и gawk .
sudo apt-get инсталирате cpulimit gawk
Изтеглете скриптовете тук. Изтеглете таргетния файл в началната си папка. Трябва да имате два файла в папката cpulimit : cpulimit_daemon.sh и cpulimit .
Отворете файла cpulimit_daemon.sh в текстовия редактор (gEdit) и променете следното:
CPU_LIMIT : Това са максималните ресурси на процесора, налични за всяко приложение. Стойността по подразбиране е 20%.
DAEMON_INTERVAL : Това е интервалът за скрипта за проверка на системата. По подразбиране е зададено 3 секунди.
BLACK_PROCESS_LIST : Това съдържа списък с елементи, които специално искат да бъдат наблюдавани. Можете да използвате разделителя "|", за да включите няколко процеса. Например " mysql|firefox|gedit
".
WHITE_PROCESSES_LIST : Това съдържа списък с елементи, които НЕ ЖЕЛАЕ да наблюдавате. Можете да използвате разделителя "|", за да включите няколко процеса. Например " mysql|firefox|gedit
".
Забележка : Една или и двете променливи BLACK_PROCESSES_LIST и WHITE_PROCESSES_LIST трябва да са празни. Не можете да имате черен списък и бял списък по едно и също време.
Настройвам
Копирайте файла cpulimit_daemon.sh в / usr / bin / папката
sudo cp ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh
Копирайте файла cpulimit в /etc/init.d/folder, задайте необходимото разрешение и го стартирайте по време на статуса.
sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown корен: корен /etc/init.d/cpulimit sudo chmod + x /etc/init.d/cpulimit sudo update-rc.d cpulimit по подразбиране
Сега, рестартирайте системата си. Даунът на cpulimit трябва да започне автоматично.
Можете да отворите терминал и да въведете:
sudo service cpulimit статус
за да проверите дали демонът cpulimit работи. Ако не работи, стартирайте го с командата
sudo service cpulimit старт
Друга възможност е да го спрете с:
sudo service cpulimit stop
Деинсталиране
За да деинсталирате, ето какво трябва да направите:
1. Спрете демона cpulimit
sudo service cpulimit stop # Спиране на cpulimit демон и всички cpulimited процеси
2. Премахнете демон от процедурата за зареждане
sudo update-rc.d -f cpulimit премахни # Премахни символните връзки
3. Изтрийте процедурата за стартиране
sudo rm /etc/init.d/cpulimit # Изтриване на скрипта за boot-up cpulimit
4. Изтрийте daemon cpulimit
sudo rm /usr/bin/cpulimit_daemon.sh # Изтриване на скрипт на демон на cpulimit
5. Деинсталирайте програмата cpulimit
sudo apt-get премахнете cpulimit
По желание можете да деинсталирате програмата Gawk
sudo apt-get отстраняване
За повече информация вж. Форума на Ubuntu за повече подробности.
Кодов кредит: abcuser от Ubuntu Форум