Rechercher

Chapitre 18. Comprendre les cgroups

download PDF

Vous pouvez utiliser la fonctionnalité du noyau control groups (cgroups) pour fixer des limites, établir des priorités ou isoler les ressources matérielles des processus. Cela vous permet de contrôler granulairement l'utilisation des ressources des applications afin de les utiliser plus efficacement.

18.1. Comprendre les groupes de contrôle

Control groups est une fonctionnalité du noyau Linux qui vous permet d'organiser les processus en groupes hiérarchiquement ordonnés - cgroups. La hiérarchie (arbre des groupes de contrôle) est définie en fournissant une structure au système de fichiers virtuel cgroups, monté par défaut sur le répertoire /sys/fs/cgroup/. Le gestionnaire de systèmes et de services systemd utilise cgroups pour organiser toutes les unités et tous les services qu'il régit. Vous pouvez également gérer manuellement les hiérarchies de cgroups en créant et en supprimant des sous-répertoires dans le répertoire /sys/fs/cgroup/.

Les contrôleurs de ressources (un composant du noyau) modifient alors le comportement des processus dans cgroups en limitant, en priorisant ou en allouant les ressources du système (telles que le temps de l'unité centrale, la mémoire, la largeur de bande du réseau ou diverses combinaisons) de ces processus.

La valeur ajoutée de cgroups est l'agrégation de processus qui permet de répartir les ressources matérielles entre les applications et les utilisateurs. Il est ainsi possible d'accroître l'efficacité globale, la stabilité et la sécurité de l'environnement des utilisateurs.

Groupes de contrôle version 1

Control groups version 1 (cgroups-v1) fournissent une hiérarchie de contrôleurs par ressource. Cela signifie que chaque ressource, telle que l'unité centrale, la mémoire, les E/S, etc., possède sa propre hiérarchie de groupes de contrôle. Il est possible de combiner différentes hiérarchies de groupes de contrôle de manière à ce qu'un contrôleur puisse coordonner avec un autre la gestion de leurs ressources respectives. Toutefois, les deux contrôleurs peuvent appartenir à des hiérarchies de processus différentes, ce qui ne permet pas une bonne coordination.

Les contrôleurs cgroups-v1 ont été développés sur une longue période et, par conséquent, le comportement et la dénomination de leurs fichiers de contrôle ne sont pas uniformes.

Groupes de contrôle version 2

Les problèmes de coordination des contrôleurs, qui découlaient de la flexibilité de la hiérarchie, ont conduit au développement de control groups version 2.

Control groups version 2 (cgroups-v2) fournit une hiérarchie de groupe de contrôle unique par rapport à laquelle tous les contrôleurs de ressources sont montés.

Le comportement et la dénomination des fichiers de contrôle sont cohérents d'un contrôleur à l'autre.

Important

Par défaut, RHEL 9 monte et utilise cgroups-v2.

Cette sous-section est basée sur une présentation de Devconf.cz 2019.[1]

Ressources supplémentaires



[1] Linux Control Group v2 - An Introduction, Devconf.cz 2019 présentation par Waiman Long
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.