Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
2.2. Создание иерархии и подключение подсистем
Предупреждение
Приведенные ниже инструкции подразумевают, что контрольные группы еще не настроены. Изменение параметров в существующих группах может повлиять на производительность задач в их составе.
Если в системе уже настроены группы (вручную или с помощью
cgconfig
), приведенные здесь команды завершатся неудачей, так как для их работы необходимо отключить существующие иерархии, что повлияет на производительность системы. Не рекомендуется экспериментировать с этими настройками в критически важных системах.
Чтобы создать иерархию и подключить к ней подсистемы, надо добавить соответствующие записи в секцию
mount
в /etc/cgconfig.conf
(в режиме root). Формат:
подсистема = /cgroup/иерархия;
При следующем запуске
cgconfig
будет создана иерархия и подключены подсистемы.
Далее будет создана иерархия
cpu_and_mem
, к которой будут подключены подсистемы cpu
, cpuset
, cpuacct
, memory
.
mount { cpuset = /cgroup/cpu_and_mem; cpu = /cgroup/cpu_and_mem; cpuacct = /cgroup/cpu_and_mem; memory = /cgroup/cpu_and_mem; }
Создание иерархии в оболочке
Иерархии могут быть созданы с помощью команд оболочки.
В режиме root создайте каталог с именем контрольной группы, который будет служить точкой подключения иерархии:
~]# mkdir /cgroup/имя
Например:
~]# mkdir /cgroup/cpu_and_mem
Подключите иерархию и добавьте в нее подсистемы:
~]# mount -t cgroup -o подсистемы иерархия /cgroup/иерархия
Здесь подсистемы — список подсистем, разделенных запятой (см. Подсистемы в Red Hat Enterprise Linux и Глава 3, Подсистемы и настраиваемые параметры).
Пример 2.3. Подключение подсистем с помощью mount
В следующем примере в качестве точки подключения иерархии будет использоваться существующий каталог
/cgroup/cpu_and_mem
. К иерархии с именем cpu_and_mem
будут подключены подсистемы cpu
, cpuset
и memory
. Наконец, cpu_and_mem
будет подключена в /cgroup/cpu_and_mem
:
~]# mount -t cgroup -o cpu,cpuset,memory cpu_and_mem /cgroup/cpu_and_mem
Список доступных подсистем и соответствующих точек подключения можно получить с помощью команды
lssubsys
[3]:
~]# lssubsys -am
cpu,cpuset,memory /cgroup/cpu_and_mem
net_cls
ns
cpuacct
devices
freezer
blkio
Исходя из этого, можно сделать следующие выводы:
- иерархии
/cgroup/cpu_and_mem
назначены подсистемыcpu
,cpuset
,memory
; - подсистемы
net_cls
,ns
,cpuacct
,devices
,freezer
иblkio
еще не принадлежат никаким иерархиям, о чем свидетельствует отсутствие соответствующих точек подключения.