Loading AI tools
De Wikipédia, l'encyclopédie libre
cgroups (control groups) est une fonctionnalité du noyau Linux pour limiter, compter et isoler l'utilisation des ressources (processeur, mémoire, utilisation disque, etc.).
Ce travail a été initié par des ingénieurs de Google (d'abord Paul Menage et Rohit Seth) en 2006 sous le nom « conteneur de processus[1]» ; à la fin 2007, il a été renommé Control Groups (à cause de la confusion causée par les différentes significations du terme « conteneur » dans le noyau Linux) et intégré à la version 2.6.24 du noyau Linux[2]. Depuis lors, de nombreuses nouvelles fonctionnalités et contrôleurs ont été ajoutés.
L'un des buts de la conception de cgroups a été de fournir une interface unifiée à différents cas d'utilisation, en allant du contrôle de simples processus (comme nice) à la virtualisation au niveau du système d'exploitation (comme OpenVZ, Linux-VServer, LXC). Cgroups fournit :
Un groupe de contrôle est une suite de processus qui sont liés par le même critère. Ces groupes peuvent être organisés hiérarchiquement, de façon que chaque groupe hérite des limites de son groupe parent. Le noyau fournit l'accès à plusieurs contrôleurs (sous-systèmes) à travers l'interface cgroup[2]. Par exemple, le contrôleur « memory » limite l'utilisation de la mémoire, « cpuacct » comptabilise l'utilisation du processeur, etc.
Les Control groups peuvent être utilisés de plusieurs façons :
La documentation du noyau Linux [11] contient de nombreux détails sur l'installation et l'utilisation des groupes de contrôle.
Bien que ne faisant pas techniquement partie du travail des groupes de contrôle, une fonctionnalité liée est l’isolation par espace de nommage, dans laquelle des ensembles de processus sont séparés de telle façon qu'ils ne puissent pas « voir » les ressources des autres groupes. Par exemple, un espace de nommage par identifiant de processus (PID) fournit un ensemble distinct d'identifiants de processus dans chaque espace de nommage. Sont aussi disponibles des espaces de nommage par mount, UTS, réseau et SysV IPC. Très tôt dans le développement des groupes de contrôle, le sous-système « ns » a été ajouté, pour intégrer les espaces de nommage et les groupes de contrôle. Si le groupe de contrôle « ns » était monté, chaque espace de nommage aurait dû aussi créer un nouveau groupe dans la hiérarchie des groupes de nommage. Ce fut une tentative qui fut jugée plus tard peu adaptée pour l'API cgroups, et supprimée du noyau.
Les espaces de nom sont créés avec la commande « unshare » ou un appel système, ou en tant que nouveaux marqueurs dans un appel système « clone »[15].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.