Zurück zur Übersicht

Begriff

cgroups (Control Groups)

Linux Containerization S3
3 Quellen 1 Lernpfad 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Dein Computer hat begrenzte Ressourcen: CPU, RAM, Festplatte. Normalerweise kämpfen alle Programme darum ("Survival of the Fittest"). Wenn Chrome abstürzt und 100% CPU frisst, ruckelt deine Maus. cgroups (Control Groups) sind der Türsteher im Linux-Kernel. Du kannst Prozesse in Gruppen stecken und Regeln aufstellen:

  • "Gruppe 'Datenbank' darf maximal 4GB RAM nutzen."
  • "Gruppe 'Webserver' darf nur CPU 1 und 2 nutzen." Wenn die Datenbank versucht, mehr RAM zu nehmen, sagt der Kernel "Nein" (oder tötet sie). Das ist die technologische Basis für Docker. Nur so können Container sicher nebeneinander laufen, ohne sich gegenseitig zu stören ("Noisy Neighbor Problem").

Merksatz: Ein Linux-Kernel-Feature, das es ermöglicht, Systemressourcen (CPU, Speicher, Disk I/O, Netzwerk) für eine Gruppe von Prozessen zu limitieren, zu priorisieren und zu überwachen.


Quick-Check

  1. Ist cgroup Virtualisierung?
    Nein. Es ist nur Ressourcen-Buchhaltung. Der Prozess läuft immer noch direkt auf der Hardware (CPU). Er wird nur vom Scheduler öfter gestoppt.
  2. Unterschied zu Namespaces?
    Die goldene Regel der Container: Namespaces isolieren das Sehen (was darf ich sehen? Prozess-IDs, Mounts). Cgroups isolieren das Nutzen (wie viel darf ich verbrauchen? CPU, RAM). Beides zusammen macht einen Container.
  3. Kann ich Disk I/O limitieren?
    Ja (blkio Controller). Wichtig in der Cloud, damit ein Container nicht die ganze SSD-Bandbreite klaut und andere Kunden ausbremst.