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