Berikut ini adalah prosedur untuk mengonfigurasi dan menggunakan grup sumber daya di Linux:
1. Untuk menggunakan cgroups, Anda harus menginstal “libcgroup ” pada sistem Anda.
# yum install libcgroup
2. Buat file konfigurasi untuk cgroups (/etc/cgconfig.conf ) dan tambahkan konfigurasi di bawah ini.
# 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 – /etc/cgrules.conf dengan konfigurasi di bawah ini:
# 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 berada di tempatnya. 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:
sebuah. Untuk menemukan batas sumber daya:
$ cgget -r memory.stat mysqldb
b. Untuk menyetel batas sumber daya:
$ cgset -r blkio.throttle.read_bps_device="8:1 0" iocap1
c. Untuk menyimpan konfigurasi yang dimodifikasi saat ini untuk penggunaan di masa mendatang:
$ cgsnapshot -s > current_cgconfig.conf