Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
2.5. Создание контрольных групп
Формат команды создания групп:
cgcreate -t
uid:gid -a
uid:gid -g подсистемы:путь
.
-t
(необязательный): определяет пользователя (по UID) и группу (по GID), которым будет принадлежать псевдофайлtasks
создаваемой группы. Пользователь сможет добавлять и удалять задания из группы.Примечание
Единственный метод удаления задач из группы заключается в их перемещении в другую группу. При этом пользователь должен обладать правами записи во вторую группу.-a
(необязательный): определяет пользователя (по UID) и группу (по GID), которым будут принадлежать все псевдофайлы группы кромеtasks
. Этот пользователь сможет изменять уровень доступа заданий к ресурсам.-g
(необзятельный): разделенный запятой список подсистем, определяющих иерархии, которым будет принадлежать группа. Список завершается двоеточием, после которого следует путь к группе. Точка подключения иерархии не указывается.К примеру, группа в/cgroup/cpu_and_mem/lab1/
будет обозначена какlab1
, так как ее путь уже известен в силу того, что заданной подсистеме соответствует всего одна иерархия. Группа контролируется всеми подсистемами в указанных иерархиях, даже если некоторые подсистемы не были напрямую перечислены в строкеcgcreate
(см. Пример 2.5, «Пример cgcreate»).
Так как контрольные группы в иерархии используют одни и те же контроллеры, дочерние группы тоже их унаследуют.
Пример 2.5. Пример cgcreate
Представим, что подсистемы
cpu
и memory
подключены в иерархию cpu_and_mem
, а net_cls
— в net
.
~]# cgcreate -g cpu,net_cls:/test-subgroup
cgcreate
создаст две группы с именем test-subgroup
— одну в иерархии cpu_and_mem
, а вторую в net
. Первая группа будет также находиться под контролем подсистемы memory
, хотя это не указано явно.
Создание иерархии в оболочке
Чтобы создать дочернюю группу, используйте команду
mkdir
:
~]# mkdir /cgroup/иерархия/имя/новая_группа
Например:
~]# mkdir /cgroup/cpuset/lab1/group1