RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:cpu_limit

Как ограничить использование CPU с помощью cpulimit

Как ограничить использование CPU, с помощью cpulimit (Debian/Ubuntu)

Это руководство покажет, как Вы можете ограничить использование процессом ЦПУ с помощью инструмента cpulimit в Debian/Ubuntu. Cpulimit – это простая программа, которая пытается ограничить использованием процессом ЦПУ (выраженное в процентном соотношении, а не времени ЦПУ). Это полезно для контроля пакетных заданий, если Вы не хотите позволять им съедать слишком много ресурсов процессора. Она не действует на хорошие показатели или другие приоритетные составляющие, только на реальное использование ЦПУ. Также, она способна подстраиваться к общей загрузке системы, быстро и динамично.

Я не даю никаких гарантий, что это будет у Вас работать!

1. Предварительные замечания

Все команды в инструкции я буду запускать из-под root’а, так что логинимся root’ом непосредственно (Debian) или становимся root’ом вот так (Ubuntu):

Если у Вас однопроцессорная машина, то Вы можете установить соотношение от 0 до 100 процентов, что означает, если Вы установите, например, 50%, Ваш процесс не сможет использовать больше чем 500 мс времени ЦПУ каждую секунду. Но если на Вашей машине установлено четыре процессора, процентное соотношение может варьироваться от 0% до 400%, так что установка ограничения в 200% означает использование не больше, чем половины доступной производительности. В любом случае, процентное соотношение такое, какое Вы увидите при запуске top.

Сpulimit должен работать по крайней мере с пользователем подобным тому, который запустил контролируемый процесс. Но лучше всего, если Вы запускаете cpulimit как root, это позволит иметь наивысший приоритет и более точное управление.

2. Установка cpulimit

Сpulimit доступен как пакет для Debian и Ubuntu, так что его можно установить следующим способом:

aptitude install cpulimit

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

Просмотрите страницу man для cpulimit, чтобы изучить, как его использовать

man cpulimit

ИМЯ

cpulimit – ограничивает использование ЦПУ процессами

КРАТКИЙ ОБЗОР

cpulimit TARGET [OPTIONS...]

ОПИСАНИЕ

TARGET должен быть одной из:

-p, –pid=N

PID процесса

-e, –exe=FILE

имя исполняемого файла программы

-P, –path=PATH

абсолютный путь к исполняемому файлу программы

ОПЦИИ

-l, –limit=N

Процентное соотношение нагрузки ЦПУ, разрешено от 0 до 100 (обязательно)

-v, –verbose

Показать статистику управления

-z, –lazy

Выход в случае отсутствия подходящего процесса, или он отключен

-h, –help

Показать эту справку и выйти

ПРИМЕРЫ

Предположим, Вы запустили «foo –bar» и Вы обнаружили с помощью top(1) или ps(1) , что процесс использует все ресурсы ЦПУ

тогда Вы можете или:

# cpulimit -e foo -l 50

ограничить использование ЦПУ процессом указав исполняемый файл программе (заметка: параметр «–bar» пропущен)

# cpulimit -p 1234 -l 50

ограничить использованием процессом ЦПУ указав его PID так, как показывает ps(1)

# cpulimit -P /usr/bin/foo -l 50

так же как и -e но использовав абсолютный путь

Сейчас представим, что мы желаем ограничить процесс apache2 до 30%. Вот как мы это сделаем:

cpulimit -e apache2 -l 30

Ключ -e принимает имя исполняемого файла программы. Вы можете получить его из данных, выводимых командой top.

Кроме использования имени исполняемого файла, мы можем использовать ID процесса с ключом -p. Вы можете найти ID процесса apache2 следующим образом:

ps aux

либо

ps aux | grep apache2

Допустим, что у apache2 ID процесса – 4510; мы сможем ограничить этот процесс до 30% нагрузки ЦПУ следующим образом:

cpulimit -p 4510 -l 30

Кроме использования имени исполняемого файла (-e) или ID процесса (-p), мы можем так же передать в cpulimit имя абсолютного пути исполняемого файла программы, с ключом -P; абсолютный путь исполняемого файла apache2 – /usr/sbin/apache2, так что мы используем следующую команду:

cpulimit -P /usr/sbin/apache2 -l 30

Пожалуйста, отметьте себе, что cpulimit будет запущен на переднем плане Вашего терминала пока Вы не завершите его комбинацией CTRL+C – отключение так же удалит все ограничения ЦПУ.

4. Ссылки

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/cpu_limit.txt · Последнее изменение: 2013/08/16 19:14 — 127.0.0.1