Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.2. Créer une hiérarchie et attacher des sous-systèmes

Avertissement

Les instructions suivantes, qui couvrent la création d'une nouvelle hiérarchie et comment y attacher des sous-systèmes, suppose que les groupes de contrôle ne sont pas encore configurés sur votre système. Dans ce cas, ces instructions n'affecteront pas l'opération du système. La modification de paramètres réglables dans un groupe de contrôle avec des tâches pourrait cependant affecter ces tâches immédiatement. Ce guide vous prévient la première fois qu'il illustre la modification d'un paramètre de groupe de contrôle réglable qui pourrait affecter une ou plusieurs tâches.
Ces commandes échoueront sur un système où les groupes de contrôle sont déjà configurés (manuellement ou par le service cgconfig), à moins que vous ne démontiez d'abord les hiérarchies existantes, ce qui affectera l'opération du système. Ne pas expérimenter avec ces instructions sur des systèmes de production.
Pour créer un hiérarchie et y attacher des sous-systèmes, modifiez la section mount du fichier /etc/cgconfig.conf en tant que super-utilisateur. Les entrées de la section mount sont sous le format suivant :
subsystem = /cgroup/hierarchy;
Lorsque cgconfig démarrera la prochaine fois, il créera la hiérarchie et y attachera les sous-systèmes.
L'exemple suivant crée une hiérarchie nommée cpu_and_mem et y attache les sous-systèmes cpu, cpuset, cpuacct et memory.
mount {
    cpuset  = /cgroup/cpu_and_mem;
    cpu     = /cgroup/cpu_and_mem;
    cpuacct = /cgroup/cpu_and_mem;
    memory  = /cgroup/cpu_and_mem;
}

Méthode alternative

Il est aussi possble d'utiliser des commandes shell et des utilitaires pour créer des hiérarchies et leur attacher des sous-système.
Créez un point de montage (mount point) pour la hiérarchie en tant que super-utilisateur. Incluez le nom du groupe de contrôle dans le point de montage :
~]# mkdir /cgroup/name
Par exemple :
~]# mkdir /cgroup/cpu_and_mem
Puis utilisez la commande mount pour monter la hiérarchie et y attacher un ou plusieurs sous-système(s) simultanément. Par exemple :
~]# mount -t cgroup -o subsystems name /cgroup/name
subsystems est une liste séparée par virgules des sous-systèmes et name est le nom de la hiérarchie. De brèves descriptions de tous les sous-systèmes disponibles sont répertoriées dans les Sous-systèmes disponibles dans Red Hat Enterprise Linux et le Chapitre 3, Sous-systèmes et paramètres réglables fournit des références détaillées.

Exemple 2.3. Utilisation de la commande mount pour attacher des sous-systèmes

Dans cet exemple, un répertoire nommé /cgroup/cpu_and_mem, qui servira de point de montage pour la hiérarchie que nous créons, existe déjà. Nous attacherons les sous-systèmes cpu, cpuset et memory à une hiérarchie que nous nommons cpu_and_mem, puis nous montons (mount) la hiérarchie cpu_and_mem sur /cgroup/cpu_and_mem :
~]# mount -t cgroup -o cpu,cpuset,memory cpu_and_mem /cgroup/cpu_and_mem
Il est possible de répertorier tous les sous-systèmes disponibles avec leurs points de montage actuels (c'est-à-dire l'emplacement où la hiérarchie à laquelle ils sont attachés est montée) avec la commande lssubsys [3] :
~]# lssubsys -am
cpu,cpuset,memory /cgroup/cpu_and_mem
net_cls
ns
cpuacct
devices
freezer
blkio
Cette sortie indique que :
  • les sous-systèmes cpu, cpuset et memory sont attachés à une hiérarchie montée sur /cgroup/cpu_and_mem.
  • les sous-systèmes net_cls, ns, cpuacct, devices, freezer et blkio ne sont toujours pas attaché à une hiérarchie, comme l'absence de points de montage le montre.


[3] La commande lssubsys est l'un des utilitaires fournis par le paquetage libcgroup. Veuillez installer libcgroup pour l'utiliser : reportez-vous au Chapitre 2, Utiliser les groupes de contrôle si vous ne parvenez pas à exécuter lssubsys.