A continuación, se proporciona el procedimiento para configurar y usar grupos de recursos en Linux:
1. Para usar cgroups, debe instalar el “libcgroup ” paquete en su sistema.
# yum install libcgroup
2. Cree un archivo de configuración para cgroups (/etc/cgconfig.conf ) y agregue la siguiente configuración.
# vi /etc/cgconfig.conf mount { cpu = /cgroup/cpumem; cpuset = /cgroup/cpumem; memory = /cgroup/cpumem; } # High priority group group mysqldb { cpu { # Allocate the relative share of CPU resources equal to 75% cpu.shares="750"; } cpuset { # No alternate memory nodes if the system is not NUMA cpuset.mems="0"; # Allocate CPU cores 2 through 5 to tasks in the cgroup cpuset.cpus="2-5"; } memory { # Allocate at most 8 GB of memory to tasks memory.limit_in_bytes="8G"; # Allocate at most 16 GB of memory+swap to tasks memory.memsw.limit_in_bytes="16G"; # Apply a soft limit of 4 GB to tasks memory.soft_limit_in_bytes="4G"; } }
3. Cree un archivo de definición de reglas de cgroup:/etc/cgrules.conf con la siguiente configuración:
# vi /etc/cgrules.conf # Assign tasks run by the mysql user to mysqldb mysql cpu,cpuset,memory mysqldb
4. Inicie el servicio cgconfig y configúrelo para que se inicie cuando se inicie el sistema.
$ service cgconfig start $ chkconfig cgconfig on
5. En este punto, el grupo de recursos para mysql está listo y en su lugar. Reinicie mysqld y se le permitirán recursos de acuerdo con la configuración y las reglas proporcionadas anteriormente.
6. También puede buscar y cambiar los límites del grupo de recursos durante el tiempo de ejecución:
una. Para encontrar límites de recursos:
$ cgget -r memory.stat mysqldb
b. Para establecer límites de recursos:
$ cgset -r blkio.throttle.read_bps_device="8:1 0" iocap1
C. Para guardar la configuración modificada actual para uso futuro:
$ cgsnapshot -s > current_cgconfig.conf