18 июн 2011
Как ограничить использование центрального процессора для любого процесса в Linux
Dmitrius Категория: LINUX » Общие советы
У нас вы можете скачать бесплатно Как ограничить использование центрального процессора для любого процесса в Linux .

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Как ограничить использование центрального процессора для любого процесса в Linux


Вы когда нибудь сталкивались с ситуацией, когда запуск обычного приложения (как например Firefox) приводит к тому, что вся ваша система начинает подвисать? Если у вас, к примеру, работает веб сервер, то последнее что бы вы хотели видеть – это то, как какое то приложение «ложит» всю систему, а с ней и все работающие на ней сайты.

Cpulimit – это приложение в Linux, которое сможет ограничить любой процесс в использовании вашего центрального процессора (CPU). Оно будет полезным, если вы хотите ограничить конкретное приложение в использовании им CPU-ресурса и предотвратить возможный крах системы. Это приложение также будет незаменимым, когда вы хотите преднамеренно запускать ресурсоёмкие приложения.

Примечание: сpulimit работает на всех дистрибутивах Linux, но в нашей статье мы будем использовать Ubuntu для примера.

Инсталляция.

В Ubuntu вы сможете установить Cpulimit используя Центр приложений Ubuntu (Ubuntu Software Center), или набрать следующую команду в терминале:

sudo apt-get install cpulimit


Использование.

Чтобы ограничить процесс используйте следующий синтаксис команды:

sudo cpulimit -p PID -l CPU%


Где PID – это ID процесса запущенного приложения, а CPU% – это процент (число от 0 до 100) CPU-ресурса разрешенного для этого приложения. Вы сможете получить PID из: Система (System) -> Администрирование (Administration) -> Системный монитор (System Monitor).

Как ограничить использование центрального процессора для любого процесса в Linux


Из рисунка выше мы видим, что приложение Swiftfox (аналог Firefox) использует 68% CPU-ресурса. Применим Cpulimit для того чтобы ограничить его, к примеру, до 20%. Для этого введем в терминале следующую команду:

sudo cpulimit -p 6517 -l 20


Теперь использование CPU упало ниже 20% и никогда не превысит это значение.

Расширение возможностей Cpulimit – автоматизация ограничения.

Приложение Cpulimit полезно когда вы сталкиваетесь с программами, которые сразу начинают потреблять много CPU-ресурсов, а вам необходимо постоянно следить за загруженностью вашего процессора. Кроме того, вы можете также настроить его для мониторинга любого приложения в системе непрерывно. Эта возможность может пригодиться для сервера.

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

Но перед началом необходимо убедиться, что у вас установлены пакеты cpulimit и gawk. Для этого наберите следующую команду в терминале:

sudo apt-get install cpulimit gawk


Ответьте на вопрос «у» для доустановки нужных пакетов.

Скачайте архив со скриптами, выложенный в конце этой статьи, и распакуйте их в ваш домашний каталог (/home/имя_юзера). Вы увидите два файла: cpulimit_daemon.sh and cpulimit.

Откройте файл cpulimit_daemon.sh в текстовом редакторе (gEdit) и изметите следующее:

Как ограничить использование центрального процессора для любого процесса в Linux


CPU_LIMIT – это максимальное значение CPU-ресурса, допустимое для каждого приложения. Значение по умолчанию: 20%.
DAEMON_INTERVAL – это интервал времени, через который скрипт будет проверять систему. По умолчанию 3 секунды.
BLACK_PROCESS_LIST – этот список содержит приложения, которые нужно контролировать. Необходимо использовать символ “|” для добавления сразу нескольких программ. Для примера: “mysql|firefox|gedit“.
WHITE_PROCESSES_LIST - этот список содержит приложения, которые НЕ нужно контролировать. Необходимо использовать символ “|” для добавления сразу нескольких программ. Для примера: “mysql|firefox|gedit“.

Примечание: один из этих двух списков BLACK_PROCESS_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/, установите необходимые права и сделайте запуск при загрузке:

sudo cp ~/cpulimit/cpulimit /etc/init.d/
sudo chown root:root /etc/init.d/cpulimit
sudo chmod +x /etc/init.d/cpulimit
sudo update-rc.d cpulimit defaults

Теперь перезагрузите вашу систему и cpulimit запуститься автоматически.

Чтобы проверить работает ли cpulimit, необходимо набрать в терминале:

sudo service cpulimit status


Если приложение не запущено, то запустить/остановить его можно соответственно следующими командами:

sudo service cpulimit start
sudo service cpulimit stop


Удаление.

Для полного удаления cpulimit из вашей системы необходимо выполнить следующее.

1. Остановить процесс cpulimit:

sudo service cpulimit stop


2. Удалить процесс из автозапуска:

sudo update-rc.d -f cpulimit remove


3. Удалить сам файл запуска:

sudo rm /etc/init.d/cpulimit


4. Удалить даемон cpulimit:

sudo rm /usr/bin/cpulimit_daemon.sh


5. Удалить саму программу cpulimit:

sudo apt-get remove cpulimit


А также, если была установлена программа gawk:

sudo apt-get remove gawk


Вот и вся полезная информация об полезной программе Сpulimit.










Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
PS51 | 18 июня 2011 22:18 | (3|-1)
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

спс

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.