The OpenNET Project / Index page

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

Простой способ ограничения утилизации CPU для заданного процесса
В репозиториях популярных 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%.
 
26.06.2009
Ключи: cpu, limit, linux / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 19:30, 26/06/2009 [ответить] [смотреть все]
  • +/
    А при запуске программы можно сразу эту утилизацию ограничить?
     
  • 1.2, cvsup, 21:01, 26/06/2009 [ответить] [смотреть все]
  • –1 +/
    Не работает оно как надо. Собирается, запускается, но правильно не работает.
     
     
  • 2.5, cvsup, 00:27, 27/06/2009 [^] [ответить] [смотреть все] [показать ветку]
  • –1 +/
    P S запускалось под фрей нерабочесть заключается в том, что при -l NUM реал... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, аноним, 22:10, 26/06/2009 [ответить] [смотреть все]  
  • +/
    У меня работает. Правда если запускать с ключом --pid (напрмиер firefox) то у меня выдало segmentation fault... ф если с ключом -е  firefox-bin -l 20 то работает, top потверждает
     
  • 1.4, Аноним, 00:22, 27/06/2009 [ответить] [смотреть все]  
  • +1 +/
    а она сама себя ограничивать умеет? ;)
     
     
  • 2.9, pavlinux, 14:35, 28/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    cpulimit --pid 'ls /proc/self/task/' --limit 1


     
     
  • 3.24, backslash, 14:12, 30/06/2009 [^] [ответить] [смотреть все]  
  • +/
    И чей это PID будет Shell а ... весь текст скрыт [показать]
     
  • 1.6, John Lepikhin, 04:16, 27/06/2009 [ответить] [смотреть все]  
  • +/
    Ага, писал аналогичную фигню для хостинга, лимитирует по тому же принципу. Только висит демоном и сама вычисляет зажравшиеся процессы.

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

     
  • 1.7, morten, 19:23, 27/06/2009 [ответить] [смотреть все]  
  • +/
    Фантастика! Работает идеально в Ubuntu 9.04... Спасибо за полезную инфу!
     
  • 1.11, pavlinux, 19:42, 28/06/2009 [ответить] [смотреть все]  
  • +/
    pavel amd64 cpulimit 30 firefox LoadPlugin failed to initialize shared libra... весь текст скрыт [показать]
     
     
  • 2.15, JLarky, 18:08, 29/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Usage cpulimit TARGET OPTIONS TARGET must be exactly one of these ... весь текст скрыт [показать] [показать ветку]
     
  • 1.12, svn, 11:39, 29/06/2009 [ответить] [смотреть все]  
  • +/
    Что только не учудят лишь бы не пользоваться приоритетами ))

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

     
     
  • 2.13, cvsup, 13:19, 29/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Согласен.
     
  • 2.14, JLarky, 18:05, 29/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Зато работает идеально Нужно было как-то сервак WoW держать, так какой приорите... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, Аноним, 19:09, 29/06/2009 [^] [ответить] [смотреть все]  
  • +/
    Даааа, пользователи WoW будут плакать от счастья в те моменты, когда сервак буде... весь текст скрыт [показать]
     
     
  • 4.17, BitBoy, 19:19, 29/06/2009 [^] [ответить] [смотреть все]  
  • +/
    Для backup, например, самое оно. Спасибо за заметку!
     
  • 1.18, Mike, 21:04, 29/06/2009 [ответить] [смотреть все]  
  • +/
    cgroup уже не модно?
     
     
  • 2.19, pavlinux, 22:04, 29/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >cgroup уже не модно?

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

     
  • 1.20, Василий Убунтиец, 08:55, 30/06/2009 [ответить] [смотреть все]  
  • +/
    в никсах можно создать пользователя которому ограничить CPU limit + если нужно MEM limit и запускать проекты типа WoW от имени такого пользователя
    тоже красивый выход - имхо
     
     
  • 2.21, Аноним, 09:11, 30/06/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Квота на CPU в Unix подразумевает ограничение общего суммарного процессороного в... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, XoRe, 11:00, 30/06/2009 [^] [ответить] [смотреть все]  
  • +/
    >>в никсах можно создать пользователя которому ограничить CPU limit + если нужно
    >>MEM limit и запускать проекты типа WoW от имени такого пользователя
    >
    >Квота на CPU в Unix подразумевает ограничение общего суммарного процессороного времени, а
    >не приоритета перед другими процессами. Т.е. вы запретите процессу использовать больше
    >N секунд процессорного времени в сумме, не более.

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

     
     
  • 4.23, Аноним, 11:14, 30/06/2009 [^] [ответить] [смотреть все]  
  • +/
    В случае с cpulimit процесс просто будет меньше нагружать CPU давая работать дру... весь текст скрыт [показать]
     
  • 1.25, Одмин, 13:51, 01/07/2009 [ответить] [смотреть все]  
  • +/
    Ребята, откройте для себя Documentation/cgroups и всё сделаете без всяких костылей.
     
     
  • 2.26, sHaggY_caT, 16:03, 28/01/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В RHEL cgroups пока еще нет
     
  • 1.27, Сергей_Светайло, 00:46, 22/07/2010 [ответить] [смотреть все]  
  • +/
    Это вариант - но есть такой вопрос - который - как новичку - казался элементарн... весь текст скрыт [показать]
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor