Grup kontrol (strong>cgroups ) memungkinkan Anda mengalokasikan sumber daya komputasi ke proses atau tugas tertentu. Anda dapat menetapkan satu set CPU dan memori ke grup tugas tertentu atau bahkan ke pengguna tertentu. Posting di sini merinci langkah-langkah untuk mengalokasikan sumber daya memori yang ditentukan untuk penggunaan tertentu. Ulimit tidak akan dapat mencapai tujuan ini karena ulimit membatasi konsumsi memori pengguna per proses. Opsi terbaik yang mungkin adalah menggunakan cgroups. Dengan cgroups, pengguna dapat dibatasi tidak hanya pada sumber daya memori tetapi juga CPU/IO. Mari kita lihat contoh untuk membatasi memori yang digunakan oleh pengguna “john” hingga 100mb.
Membatasi memori untuk pengguna tertentu
1. Edit file konfigurasi cgroups /etc/cgconfig.conf dan tambahkan baris di bawah ini
# vi /etc/cgconfig.conf group memlimit { memory { memory.limit_in_bytes = 104857600; #### limit memory to 100MB } }
Bagian kode di atas akan membuat cgroup bernama memlimit dengan batas 100mb .
2. Sekarang edit file lain /etc/cgrules.conf dan tambahkan baris di bawah ini:
# vi /etc/cgrules.conf john memory memlimit
Ini akan memberi tahu cgroups bahwa pengguna john akan ditambahkan ke memlimit cgroup dan hanya dapat mengambil 100mb dari sistem.
3. Setelah Anda selesai mengedit file konfigurasi, mulai ulang layanan cgred dan cgconfig .
# service cgred restart # service cgconfig restartlayanan cgconfig(konfigurasi grup kontrol) – digunakan untuk membuat cgroup dan mengelola subsistem
layanan cgred (daemon mesin aturan grup kontrol) – digunakan untuk memindahkan tugas ke dalam cgroup sesuai dengan parameter yang diatur dalam file /etc/cgrules.conf.
4. Aktifkan kedua layanan untuk memulai pada boot sistem. Dengan ini kami memastikan file konfigurasi /etc/cgconfig.conf dan /etc/cgrules.conf dibaca pada saat boot dan cgroup dibuat.
# chkconfig cgred on # chkconfig cgconfig on