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.