Estoy buscando una forma coherente de configurar cgroups en un sistema de escritorio Ubuntu 14.04 con recursos limitados.
Lo que me gustaría hacer:
- cree algunos grupos con memoria limitada y CPU asignada para tareas específicas
- habilitar automáticamente estos grupos al reiniciar
- asignar ciertos comandos/programas a cada grupo
Entiendo la configuración de cgroup y cómo iniciar procesos para un grupo específico usando cgexec. El problema es el siguiente paso.
He creado un archivo /etc/cgconfig.conf funcional, que puedo analizar y activar correctamente usando cgconfigparser para configurar cgroups. Sin embargo, esto es todo lo que llego.
- No encuentro un servicio para leer y analizar /etc/cgconfig.conf correctamente al iniciar el sistema. Los paquetes actuales de cgroup no parecen incluir dicho servicio.
- Según tengo entendido, /etc/cgconfig.conf va acompañado de un archivo /etc/cgrules.conf, que describe cómo se inician los procesos de forma predeterminada en un grupo determinado. No puedo identificar el servicio o mecanismo que lo analiza. Sin esta funcionalidad necesito iniciar todos los procesos usando cgexec para colocarlos en un cgroup.
Intenté usar cgmanager, pero ese servicio tampoco parece configurarse desde /etc/cgconfig.conf. En general, encuentro difícil encontrar información sobre cómo configurar y usar cgroups en sistemas de escritorio Ubuntu.
Entonces, ¿alguien puede indicarme la dirección correcta? ¿Qué servicio necesito instalar y a qué archivos de configuración obedece?
Para que quede claro: no estoy buscando contenedores. Se trata de estructurar el manejo de recursos en un único sistema dedicado.
Muchas gracias :)
Respuesta1
# 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.