The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Простой способ ограничения утилизац..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Простой способ ограничения утилизац..."  +/
Сообщение от auto_tips (??) on 26-Июн-09, 19:30 
В репозиториях популярных Linux дистрибутивов можно найти полезную утилиту cpulimit (http://cpulimit.sourceforge.net/),
которая позволяет легко ограничить занимаемые определенной программой процессорные ресурсы.
Метод работы программы оригинален, в зависимости от указанного процента допустимой нагрузки,
процесс периодически останавливается через отправку сигнала SIGSTOP, а затем работа возобновляется через SIGCONT.

Например, ограничиваем потребление CPU для работающей программы find в 30%.
Определяем идентификатор процесса:

   $ ps -aux|grep find
   user 3470  7.0  7.9 25516 16252 ?       Sl   17:05  14:19 /usr/bin/find

Ограничиваем:

   $ cpulimit --pid 3470 --limit 30

На многопроцессорных системах, процент нужно указывать с учетом числа CPU, т.е. для 4 процессорной машины для
указания работы без ограничений нужно поставить не 100%, а 400%.


URL:
Обсуждается: https://www.opennet.ru/tips/info/2105.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Аноним (??) on 26-Июн-09, 19:30 
А при запуске программы можно сразу эту утилизацию ограничить?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Простой способ ограничения утилизации CPU для заданного проц..."  –1 +/
Сообщение от cvsup (ok) on 26-Июн-09, 21:01 
Не работает оно как надо. Собирается, запускается, но правильно не работает.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от аноним on 26-Июн-09, 22:10 
У меня работает. Правда если запускать с ключом --pid (напрмиер firefox) то у меня выдало segmentation fault... ф если с ключом -е  firefox-bin -l 20 то работает, top потверждает
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Простой способ ограничения утилизации CPU для заданного проц..."  +1 +/
Сообщение от Аноним (??) on 27-Июн-09, 00:22 
а она сама себя ограничивать умеет? ;)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Простой способ ограничения утилизации CPU для заданного проц..."  –1 +/
Сообщение от cvsup (ok) on 27-Июн-09, 00:27 
P.S.
запускалось под фрей.. нерабочесть заключается в том, что при -l <NUM> реальная планка ограничения сильно ниже, так -l 40 дает %CPU ~5%
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от John Lepikhin on 27-Июн-09, 04:16 
Ага, писал аналогичную фигню для хостинга, лимитирует по тому же принципу. Только висит демоном и сама вычисляет зажравшиеся процессы.

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от morten on 27-Июн-09, 19:23 
Фантастика! Работает идеально в Ubuntu 9.04... Спасибо за полезную инфу!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Простой способ ограничения утилизации CPU для заданного проц..."  –1 +/
Сообщение от pavlinux (ok) on 28-Июн-09, 14:35 
cpulimit --pid `ls /proc/self/task/` --limit 1


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от pavlinux (ok) on 28-Июн-09, 19:42 
pavel@amd64:~> cpulimit 30 firefox
LoadPlugin: failed to initialize shared library /usr/lib/Adobe/Reader8/Browser/intellinux/nppdf.so [/usr/lib/Adobe/Reader8/Browser/intellinux/nppdf.so: неправильный класс ELF: ELFCLASS32]
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsdsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsc.so.0' from LD_PRELOAD cannot be preloaded: ignored.
*** NSPlugin Viewer  *** ERROR: /usr/lib/mozilla/plugins/npPicasa3.so: cannot open shared object file: No such file or directory
LoadPlugin: failed to initialize shared library /usr/lib/jdk1.6.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so [/usr/lib/jdk1.6.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so: неправильный класс ELF: ELFCLASS32]
LoadPlugin: failed to initialize shared library /usr/lib64/firefox/plugins/nppdf.so [/usr/lib64/firefox/plugins/nppdf.so: неправильный класс ELF: ELFCLASS32]
LoadPlugin: failed to initialize shared library /usr/lib/jdk1.6.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so [/usr/lib/jdk1.6.0_07/jre/plugin/i386/ns7/libjavaplugin_oji.so: неправильный класс ELF: ELFCLASS32]
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsdsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsc.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/lib/libmalloc.so.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsdsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/opt/kde3/$LIB/libartsc.so.0' from LD_PRELOAD cannot be preloaded: ignored.
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8

(npviewer.bin:9972): Gtk-WARNING **: Загружаемый модуль тем не найден в module_path: "qtcurve",
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
Flash Player: Warning: environment variable G_FILENAME_ENCODING is set and is not UTF-8
/usr/bin/firefox: line 123:  9903 Превышен лимит процессорного времени                                             $MOZ_PROGRAM "$@"


Ну ELFCLASS32 понятно, а нах... отваливаться после 30 сек.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от svn (??) on 29-Июн-09, 11:39 
Что только не учудят лишь бы не пользоваться приоритетами ))

Страшно неоптимальное решение.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от cvsup (ok) on 29-Июн-09, 13:19 
Согласен.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от JLarky email on 29-Июн-09, 18:05 
Зато работает идеально. Нужно было как-то сервак WoW держать, так какой приоритет не ставь всё равно будет жрать всё что видит.
Не забываем что процессор загруженный на 50% это лучше чем на 100% (охлаждение, энергопотребление и т.д.) особенно когда прога жрёт то что ей жрать вроде и не обязательно
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от JLarky email on 29-Июн-09, 18:08 
>pavel@amd64:~> cpulimit 30 firefox

Usage: cpulimit TARGET [OPTIONS...]
   TARGET must be exactly one of these:
      -p, --pid=N        pid of the process
      -e, --exe=FILE     name of the executable program file
      -P, --path=PATH    absolute path name of the executable program file
   OPTIONS
      -l, --limit=N      percentage of cpu allowed from 0 to 100 (mandatory)
      -v, --verbose      show control statistics
      -z, --lazy         exit if there is no suitable target process, or if it dies
      -h, --help         display this help and exit

>Ну ELFCLASS32 понятно, а нах... отваливаться после 30 сек.

уж очень на ulimit похоже...

пилите, Шура

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Аноним (??) on 29-Июн-09, 19:09 
Даааа, пользователи WoW будут плакать от счастья в те моменты, когда сервак будет "притормаживаться" через SIGSTOP

Такой маразматический способ ограничения ресурсов только для неинтерактивных интенсивных задач типа find или там считалок чего-нибудь подходит. Запускать под ним сервер, с которым идет интерактивная работа - даже слов нет, чтобы описать такое.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от BitBoy on 29-Июн-09, 19:19 
Для backup, например, самое оно. Спасибо за заметку!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Mike (??) on 29-Июн-09, 21:04 
cgroup уже не модно?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от pavlinux (ok) on 29-Июн-09, 22:04 
>cgroup уже не модно?

Примеры в студию

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Василий Убунтиец on 30-Июн-09, 08:55 
в никсах можно создать пользователя которому ограничить CPU limit + если нужно MEM limit и запускать проекты типа WoW от имени такого пользователя
тоже красивый выход - имхо
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Аноним (??) on 30-Июн-09, 09:11 
>в никсах можно создать пользователя которому ограничить CPU limit + если нужно
>MEM limit и запускать проекты типа WoW от имени такого пользователя

Квота на CPU в Unix подразумевает ограничение общего суммарного процессороного времени, а не приоритета перед другими процессами. Т.е. вы запретите процессу использовать больше N секунд процессорного времени в сумме, не более.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от XoRe (ok) on 30-Июн-09, 11:00 
>>в никсах можно создать пользователя которому ограничить CPU limit + если нужно
>>MEM limit и запускать проекты типа WoW от имени такого пользователя
>
>Квота на CPU в Unix подразумевает ограничение общего суммарного процессороного времени, а
>не приоритета перед другими процессами. Т.е. вы запретите процессу использовать больше
>N секунд процессорного времени в сумме, не более.

Так и текст в новости не про приоритеты.
Вообще да, интересно, как себя будет вести сервер в указанных ограничителях)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Аноним (??) on 30-Июн-09, 11:14 
>Так и текст в новости не про приоритеты.
>Вообще да, интересно, как себя будет вести сервер в указанных ограничителях)

В случае с cpulimit процесс просто будет меньше нагружать CPU давая работать другим, а в случае cpu quota (ulimit -t) будет ограничено общее время использования CPU,  т.е. процес будет продолжать съедать все ресурсы, но вырубится после того как квота будет исчерпана.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от backslash on 30-Июн-09, 14:12 
>cpulimit --pid `ls /proc/self/task/` --limit 1

И чей это PID будет? Shell'а? ;)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Одмин on 01-Июл-09, 13:51 
Ребята, откройте для себя Documentation/cgroups и всё сделаете без всяких костылей.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от sHaggY_caT (ok) on 28-Янв-10, 16:03 
В RHEL cgroups пока еще нет
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Простой способ ограничения утилизации CPU для заданного проц..."  +/
Сообщение от Сергей_Светайло email on 22-Июл-10, 00:46 
Это вариант!
-    но есть такой вопрос - который - как новичку - казался элементарным!
-    Но, оказалась – НЕ РАЗЗРЕШИМОЙ ПРОБЛЕМОЙ – ибо – на диске более200 ГБ!
Ситуация СЛЕДУЮЩАЯ:
При приобретении ACER  ASPIRE 5732Z - установили и приложили установочный DVD - на "Росинка" LM8, с ядром  - 2.6.31-14 generic, приобретена и WebCam logitech C250 и радио модем HUAWEI EC325.

Обещали методическую помощь для установки купленных устройств.
Получить обещанной помощи - не удалось.

Сам установил WebCam под Cheese – добавив недостающие пакеты.
При попытке подключить радио модем - прервалась проводная связь с Интернетом - которая работала из коробки.
Как использовать установочный диск DVD - для установки пакетов ПО, когда убрал лишние - для радио модема - видимо затронул базовые.
Полагаю – должна бать возможность – установочный DVD по умолчанию – как депозиторий.
Ибо и иконка регулятора звука пропала.
А при запуске с установочного диска - ВСЁ ИМЕЕТСЯ - КАК ВЕРНУТЬ ПОТЕРИ?
ВСЕМ ЗАРАНЕЕ ПРИЗНАТЕЛЕН!!!

Сергей


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру