Níže je uveden postup pro konfiguraci a používání skupin prostředků v systému Linux:
1. Chcete-li používat cgroups, musíte na svůj systém nainstalovat balíček „libcgroup“:
# yum install libcgroup
2. Vytvořte konfigurační soubor pro cgroups:
# 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. Vytvořte soubor definice pravidel cgroup:
# vi /etc/cgrules.conf # Assign tasks run by the mysql user to mysqldb mysql cpu,cpuset,memory mysqldb
4. Spusťte službu cgconfig a nakonfigurujte ji tak, aby se spouštěla při startu systému.
$ service cgconfig start $ chkconfig cgconfig on
5. V tomto okamžiku je skupina prostředků pro mysql připravena a na svém místě. Restartujte mysqld a budou mu povoleny prostředky podle konfigurace a pravidel uvedených výše.
6. Limity skupiny prostředků můžete najít a změnit také za běhu.
– Chcete-li zjistit limity zdrojů:
$ cgget -r memory.stat mysqldb
– Chcete-li nastavit limity zdrojů:
$ cgset -r blkio.throttle.read_bps_device="8:1 0" iocap1
– Chcete-li uložit aktuální upravenou konfiguraci pro budoucí použití:
$ cgsnapshot -s > current_cgconfig.conf