Procurando uma maneira consistente de configurar cgroups no Ubuntu 14.04 Desktop

Procurando uma maneira consistente de configurar cgroups no Ubuntu 14.04 Desktop

Estou procurando uma maneira consistente de configurar cgroups em um sistema Ubuntu 14.04 Desktop com recursos limitados.

O que eu gostaria de fazer:

  • crie alguns grupos com memória limitada e CPU atribuída para tarefas específicas
  • habilitar automaticamente esses grupos na reinicialização
  • atribuir certos comandos/programas a cada grupo

Entendo a configuração do cgroup e como iniciar processos para um grupo específico usando cgexec. O problema é o próximo passo.

Eu criei um arquivo /etc/cgconfig.conf funcional, que posso analisar e ativar com sucesso usando cgconfigparser para obter cgroups configurados. No entanto, isso é o máximo que consigo.

  • Não encontro um serviço para ler e analisar /etc/cgconfig.conf corretamente na inicialização do sistema. Os pacotes cgroup atuais não parecem incluir tal serviço.
  • Pelo que entendi, /etc/cgconfig.conf é acompanhado por um arquivo /etc/cgrules.conf, que descreve como os processos são iniciados por padrão em um determinado grupo. Não consigo identificar o serviço ou mecanismo que o analisa. Sem esta funcionalidade preciso iniciar todos os processos usando cgexec para colocá-los em um cgroup.

Tentei usar o cgmanager, mas esse serviço também não parece ser configurado em /etc/cgconfig.conf. Em geral, acho difícil localizar informações sobre como configurar e usar cgroups em sistemas Ubuntu Desktop.

Então, alguém é capaz de me indicar a direção certa? Qual serviço preciso instalar e quais arquivos de configuração ele obedece?

Só para deixar claro: não estou procurando contêineres. É estruturar o tratamento de recursos em um único sistema dedicado.

Muito obrigado :)

Responder1

# 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.

informação relacionada