Red Hat Training

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

1.2. Relations entre sous-systèmes, hiérarchies, groupes de contrôle et tâches

Souvenez-vous que les processus système sont appelés des tâches dans la terminologie des groupes de contrôle.
Voici quelques simples règles régissant les relations entre sous-systèmes, hiérarchies des groupes de contrôle et tâches, ainsi que les conséquences explicatives de ces règles.
Règle n°1

Tout sous-système unique (comme cpu) peut être attaché à une seule hiérarchie au plus.

En conséquence, le sous-système cpu ne pourra jamais être attaché à deux différentes hiérarchies.
Règle n°2

Une hiérarchie unique peut avoir deux sous-systèmes ou plus qui lui sont attachés.

En conséquence, les sous-systèmes cpu et memory (ou tout autre nombre de sous-systèmes) peuvent être attachés à une seule hiérarchie pourvu qu'aucun sous-système ne soit attaché à une autre hiérarchie.
Règle n°3

Chaque fois qu'une nouvelle hiérarchie est créée sur les systèmes, toutes les tâches sur le système sont d'abord des membres du groupe de contrôle par défaut de cette hiérarchie, qui est aussi connu sous le nom de groupe de contrôle racine (de l'anglais, « root cgroup »). Pour toute hiérarchie unique que vous créez, chaque tâche sur le système peut être un membre d'exactement un groupe de contrôle dans cette hiérarchie. Une tâche unique peut se trouver dans de multiples groupes de contrôle, pourvu que chacun de ces groupes de contrôle se trouve dans une différente hiérarchie. Dès qu'une tâche devient membre d'un second groupe de contrôle dans la même hiérarchie, elle est supprimée du premier groupe de contrôle de cette hiérarchie. Une tâche ne peut jamais se trouver dans deux différents groupes de contrôle de le même hiérarchie.

Par conséquent, si les sous-systèmes cpu et memory sont attachés à une hiérarchie nommée cpu_and_mem et si le sous-système net_cls est attaché à une hiérarchie nommée net, alors un processus httpd en cours d'exécution pourrait être un membre de n'importe quel groupe de contrôle se trouvant dans cpu_and_mem et de n'importe quel groupe de contrôle se trouvant dans net.
Le groupe de contrôle dans cpu_and_mem dont le processus http est un membre peut restreindre son temps processeur de moitié comparé à ce qui est alloué aux autres processus et limiter son utilisation de mémoire à un maximum de 1024 Mo. En outre, le groupe de contrôle dans net qui est un membre peut limiter son taux de transmission à 30 méga-octets par seconde.
Lorsque la première hiérarchie est créée, chaque tâche sur le système est un membre d'au moins un groupe de contrôle : le groupe de contrôle racine (ou root). Ainsi, chaque tâche système se trouve au moins dans un groupe de contrôle.
Règle n°4

Tout processus (ou tâche) sur un système qui se copie lui-même donne naissance à un processus (tâche) enfant. La tâche enfant devient automatiquement membre de tous les groupes de contrôle dont le parent fait partie. La tâche enfant peut ensuite être déplacée sur différents groupes de contrôle selon les besoins, mais celle-ci hérite toujours des groupes de contrôle (de l'"environnement", pour reprendre la terminologie des processus) de sa tâche parente.

Par conséquent, prenez en considération la tâche httpd qui est membre du groupe de contrôle nommé half_cpu_1gb_max dans la hiérarchie cpu_and_mem et du groupe de contrôle trans_rate_30 dans la hiérarchie net. Lorsque ce processus httpd se copie lui-même, son processus enfant devient automatiquement membre des groupes de contrôle half_cpu_1gb_max et trans_rate_30. Celui-ci hérite des mêmes groupes de contrôle dont faisait partie sa tâche parente.
À partir de ce moment, les tâches parent et enfant sont complètement indépendantes l'une de l'autre : modifier le groupe de contrôle auquel une tâche appartient n'affecte pas l'autre tâche. La modification des groupes de contrôle d'une tâche parent n'affectera aucune de ses tâches petits-enfants non plus. Pour résumer, toute tâche enfant commence par hériter des mêmes appartenances aux groupes de contrôle que ses tâches parentes, ces appartenances pourront être modifiées ou supprimées ultérieurement.