Я ищу последовательный способ настройки cgroups в настольной системе Ubuntu 14.04 с ограниченными ресурсами.
Что бы я хотел сделать:
- создать несколько групп с ограниченной памятью и процессором, выделенными для определенных задач
- автоматически включить эти группы при перезагрузке
- назначить определенные команды/программы каждой группе
Я понимаю конфигурацию cgroup и как запускать процессы для определенной группы с помощью cgexec. Проблема в следующем шаге.
Я создал рабочий файл /etc/cgconfig.conf, который я могу успешно разобрать и активировать с помощью cgconfigparser для получения настроенных cgroups. Однако это все, что я могу сделать.
- Я не нашел сервис для правильного чтения и разбора /etc/cgconfig.conf при загрузке системы. Текущие пакеты cgroup, похоже, не включают такой сервис.
- Насколько я понимаю, /etc/cgconfig.conf сопровождается файлом /etc/cgrules.conf, который описывает, как процессы запускаются по умолчанию в определенной группе. Я не могу определить службу или механизм, который его анализирует. Без этой функциональности мне нужно запускать все процессы с помощью cgexec, чтобы поместить их в cgroup.
Я пытался использовать cgmanager, но эта служба, похоже, тоже не настраивается из /etc/cgconfig.conf. В целом, я нахожу информацию о том, как настраивать и использовать cgroups в системах Ubuntu Desktop, труднодоступной.
Итак, кто-нибудь может указать мне правильное направление? Какую службу мне нужно установить, и каким файлам конфигурации она подчиняется?
Просто для ясности: я не ищу контейнеры. Я ищу структурирование обработки ресурсов в одной выделенной системе.
Большое спасибо :)
решение1
# vi /etc/cgrules.conf
tomcat7:wkhtmltopdf cpu,cpuset group1
# cgrulesengd -d -v -f /var/log/cgrulesengd.log &
# cat /var/log/cgrulesengd.log
CGroup Rules Engine Daemon log started
Current time: Thu Jan 15 16:04:20 2015
Opened log file: /var/log/cgrulesengd.log, log facility: 0, log level: 7
Proceeding with PID 28569
Rule: tomcat7:wkhtmltopdf
UID: 500
GID: N/A
DEST: group1
CONTROLLERS:
cpu
cpuset
Started the CGroup Rules Engine Daemon.