LINUX.ORG.RU
ФорумAdmin

Как ограничить CPU/RAM определенного процесса?


0

0

Задача такова - запускать определенный процесс в защищенной среде с ограниченными ресурсами процесса и оперативной памяти. Для начала, какие вообще способы для этого есть? Виртуальный сервер/limits.conf, чтото еще?

Я так понял что лучше всего делать виртуальный сервер, какая сейчас технология лучше для этого подходит? (LVS?)

★★

Кстати, пробовал утилиту cpulimit, ощущения крайне отрицательные: - во-первых она периодически сама без какихлибо признаков перестает работать, хотя процесс, который она контроллирует жив и здоров - второе - заметил что она сама съедает все ресурсы CPU и подвешивает сервер, пару раз точно такое было... :(

LX ★★
() автор топика

По процессору ограничивать смысла нет. Для этого есть приоритеты. Так что общего решения нет. Есть частные - скажем, lighttpd может отдавать fast-cgi скриптам не больше N% CPU на нос. Но обычно всё решается приоритетами. Почему не отдать 100% процессу, если процессор свободен?

Память - это уже ulimit.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Так, понятно, тогда будем копать в сторону общего решения, получается что наилучшим решением по выделению фиксированных ресурсов некой среде процессов является виртуальный сервер, так? Совсем не знаком с этой технологией, поэтому прошу посоветовать чтонибудь толковое, чтобы не терять кучу времени на изучение "рынка"... :)

LX ★★
() автор топика
Ответ на: комментарий от LX

Просто подытожу. Как тут справедливо отметили, если что-то большее и не на домашней машине - OpenVZ. Для остального ulimit/limits.conf.

Valmont ★★★
()
Ответ на: комментарий от true_admin

> task groups+rlimits

Имхо наиболее правильный подход. Для task groups нужно ядро >= 2.6.24 (см. в исходниках ядра Documentation/scheduler/sched-design-CFS.txt).

tungus
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.