Ядро документація забезпечує загальний охоплення контрольних груп з прикладами.
cgroups-bin
Пакет (який залежить від libcgroup1
) вже передбачено розподіл має бути в порядку.
Конфігурація проводиться шляхом редагування наступних двох файлів:
/etc/cgconfig.conf
Використовується libcgroup для визначення груп управління, їх параметрів та точок монтажу.
/etc/cgrules.conf
Використовується libcgroup для визначення груп управління, до яких належить процес.
Ці файли конфігурації вже мають приклади, тому спробуйте їх підлаштувати під свої вимоги. Сторінки людини досить добре висвітлюють їх конфігурацію.
Після цього запустіть менеджер робочого навантаження та правила демона:
service cgconfig restart
service cgred restart
За розподіл ресурсів відповідає менеджер завантаження (cgconfig).
Додавання нового процесу до менеджера:
cgexec [-g <controllers>:<path>] command [args]
Додавання вже запущеного процесу до менеджера:
cgclassify [-g <controllers>:<path>] <pidlist>
Або автоматично над файлом cgrules.conf та Daemon Правилами CGroup (cgred), що змушує кожен новостворений процес у вказаній групі.
Приклад /etc/cgconfig.conf:
group group1 {
perm {
task {
uid = alice;
gid = alice;
}
admin {
uid = root;
gid = root;
}
}
cpu {
cpu.shares = 500;
}
}
group group2 {
perm {
task {
uid = bob;
gid = bob;
}
admin {
uid = root;
gid = root;
}
}
cpu {
cpu.shares = 500;
}
}
mount {
cpu = /dev/cgroups/cpu;
cpuacct = /dev/cgroups/cpuacct;
}
Приклад /etc/cgrules.conf:
alice cpu group1/
bob cpu group2/
Це поділить ресурси процесора приблизно 50-50 між користувачем 'alice' та 'bob'