Procurando por uma maneira consistente de configurar cgroups no Ubuntu 14.04 Desktop

7

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

O que eu gostaria de fazer:

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

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

Eu construí um arquivo de trabalho /etc/cgconfig.conf, que eu sou capaz de analisar e ativar com sucesso usando o cgconfigparser para obter cgroups configurados. No entanto, isso é tanto quanto eu recebo.

  • Eu não encontro um serviço para ler e analisar o /etc/cgconfig.conf corretamente na inicialização do sistema. Os pacotes atuais do cgroup não parecem incluir tal serviço.
  • Pelo que entendi, o /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 analisa isso. Sem essa funcionalidade, preciso iniciar todos os processos usando o cgexec para obtê-los em um cgroup.

Eu tentei usar o cgmanager, mas esse serviço também não parece configurar a partir do /etc/cgconfig.conf. Em geral eu acho a informação de como configurar e usar cgroups em sistemas Ubuntu Desktop difíceis de localizar.

Então, alguém é capaz de me apontar na direção certa? Que serviço preciso instalar e que arquivos de configuração ele obedece?

Só para deixar claro: não estou procurando recipientes. É estruturar a manipulação de recursos em um único sistema dedicado.

Muito obrigado :)

    
por Sam Van den Eynde 08.12.2014 / 00:39

1 resposta

6
# 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.
    
por guest 15.01.2015 / 06:16

Tags