2.7. Настройка параметров

При наличии соответствующих прав пользователь может изменять параметры подсистемы с помощью cgset. К примеру, чтобы указать процессоры, к которым у группы должен быть доступ:
cpuset]# cgset -r cpuset.cpus=0-1 group1
Формат команды: cgset -r параметр=значение путь.
  • параметр — устанавливаемый параметр, которому соответствует файл в каталоге группы;
  • значение — присвоенное параметру значение;
  • путь — путь к группе из корня иерархии. Например, команда настройки параметра корневой группы /cgroup/cpuacct/, будет выглядеть так:
    cpuacct]# cgset -r cpuacct.usage=0 /
    Корневая группа также может быть обозначена как ., то есть команда может выглядеть так:
    cpuacct]# cgset -r cpuacct.usage=0 .
    Рекомендуется использовать первый вариант команды.

    Примечание

    В корневой группе можно настроить лишь ограниченное число параметров (включая приведенный выше cpuacct.usage). Это объясняется тем, что корневой группе принадлежат все ресурсы, поэтому изменение настроек на этом уровне ограничит все существующие процессы, что нецелесообразно.
    Чтобы изменить параметр в group1, которая входит в состав корневой группы:
    cpuacct]# cgset -r cpuacct.usage=0 group1
    Добавление "/" после названия группы ( cpuacct.usage=0 group1/) необязательно.
Значения параметров в группах также зависят от того, какие значения заданы на верхних уровнях иерархии. К примеру, если group1 доступен только процессор CPU 0, то group1/subgroup1 тоже будет доступен только этот процессор.
С помощью cgset можно копировать параметры одной группы в другую:
~]# cgset --copy-from group1/ group2/
Формат: cgset --copy-from путь1 путь2.
  • путь1 — путь к исходной контрольной группе;
  • путь2 — путь к группе-получателю.
Прежде чем приступить к копированию, надо убедиться, что необходимые параметры подсистем установлены, иначе команда не сможет завершить работу (см. Обязательные параметры).

Создание иерархии в оболочке

Параметры можно добавить в псевдофайл подсистемы напрямую с помощью echo. Ниже приведен пример добавления значения 0-1 в cpuset.cpus контрольной группы group1:
~]# echo 0-1 > /cgroup/cpuset/group1/cpuset.cpus
В результате заданиям этой контрольной группы будет разрешено обращаться только к процессорам 0 и 1.