Berikut ini adalah prosedur untuk mengonfigurasi dan menggunakan grup sumber daya di Linux:
1. Untuk menggunakan cgroups, Anda harus menginstal paket “libcgroup” di sistem Anda:
# yum install libcgroup
2. Buat file konfigurasi untuk 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. Buat file definisi aturan cgroup:
# vi /etc/cgrules.conf # Assign tasks run by the mysql user to mysqldb mysql cpu,cpuset,memory mysqldb
4. Mulai layanan cgconfig dan konfigurasikan untuk memulai saat sistem di-boot.
$ service cgconfig start $ chkconfig cgconfig on
5. Pada titik ini, grup sumber daya untuk mysql sudah siap dan ada. Mulai ulang mysqld dan itu akan diizinkan sumber daya sesuai dengan konfigurasi dan aturan yang disediakan di atas.
6. Anda juga dapat menemukan dan mengubah batas grup sumber daya selama runtime.
– Untuk menemukan batas sumber daya:
$ cgget -r memory.stat mysqldb
– Untuk menetapkan batas sumber daya:
$ cgset -r blkio.throttle.read_bps_device="8:1 0" iocap1
– Untuk menyimpan konfigurasi yang dimodifikasi saat ini untuk penggunaan di masa mendatang:
$ cgsnapshot -s > current_cgconfig.conf