Skip to main content

cgroups v2 Ressourcenquoten & OOM-Watchdogs

FÜR AI-AGENTENChatGPTClaude

Linux-Kernelfunktionen (Control Groups v2) zur Durchsetzung harter Hardware-Limits für RAM, CPU, Speicherplatz und Prozessanzahl (PIDs), um den Host vor hängenden Agent-Zyklen zu schützen.

1. Konzeptüberblick und Systemproblem

Autonome KI-Agenten sind von Natur aus unvorhersehbar:

  • Ein Agent schreibt eine rekursive Funktion zur Traversierung des Dateisystems, vergisst die Abbruchbedingung und löst eine endlose Speicherzuweisung aus.
  • Innerhalb von 30 Sekunden steigt der RAM-Verbrauch von 200 MB auf 32 GB an.
  • Auf dem Host greift der Linux Out-Of-Memory (OOM) Killer ein, der aufgrund eines nicht deterministischen heuristischen Algorithmus nicht nur den hängenden Agenten beendet, sondern auch die primäre PostgreSQL-Datenbank und den Webserver.

Control Groups v2 (cgroups v2) ist das ingenieurtechnische Käfigsystem des Linux-Kernels. Es ermöglicht die Zuweisung strikter Grenzen für den Prozess des Agenten: Selbst wenn der Agent versucht, ein Terabyte Speicher zuzuweisen, erzwingt der Kernel die Begrenzung auf das zugewiesene Limit und beendet sauber nur diesen spezifischen isolierten Prozess.

2. Architektonische Taxonomie und mentales Modell

┌─────────────────────────────────────────────────────────────┐
│                 CGROUPS V2 UNIFIED HIERARCHY                │
├─────────────────────────────────────────────────────────────┤
│ ROOT CONTROL GROUP (/sys/fs/cgroup)                         │
│ ├── system.slice (Критичні служби хоста: SSH, Systemd, UFW) │
│ │   ➔ Guaranteed Memory & High CPU Priority                 │
│ └── agent-sandbox.slice (Ізольований контур агента)          │
│     ├── memory.max = 1536M (Жорсткий ліміт пам'яті)        │
│     ├── memory.high = 1200M (М'який ліміт: троттлінг)       │
│     ├── cpu.max = 100000 100000 (Максимум 1 повне ядро)    │
│     ├── pids.max = 150 (Захист від Fork Bomb)               │
│     └── io.weight = 100 (Низький пріоритет запису на SSD)   │
└─────────────────────────────────────────────────────────────┘

3. Praktische Ingenieursszenarien im Production-Umfeld

01. Schutz des Host-Servers durch systemd-run

Ausführung eines riskanten Agent-Skripts direkt in einer dedizierten Limits-Gruppe ohne Container:

systemd-run --scope -p MemoryMax=1G -p CPUQuota=50% -p TasksMax=50 python agent_worker.py

Wenn das Skript 1 GB RAM überschreitet, startet der Kernel sofort nur den Dienst agent_worker.py neu, ohne andere Prozesse auf dem Server zu beeinträchtigen.

02. Nutzung von PSI für adaptive Laststeuerung

Ein Monitoring-Daemon liest /proc/pressure/memory. Wenn der Druckindikator 20 % überschreitet, pausiert das System automatisch die Annahme neuer Aufgaben für Agenten, bis die aktuellen Berechnungen abgeschlossen sind.

4. Fallstricke, typische Fehler und Sicherheit

  • OOM Loops (Endloser Neustartzyklus): Wenn das Speicherlimit zu niedrig angesetzt ist (z. B. 256 MB für eine Node.js-Anwendung), stürzt der Agent ab und startet alle 10 Sekunden neu, was die Warteschlangen überlastet.
  • Deaktivierter Swap: Bei vollständiger Abwesenheit einer Swap-Datei auf dem Server führt ein plötzlicher Anstieg des Speicherverbrauchs zu einem sofortigen SIGKILL. Es wird empfohlen, einen kleinen zram oder eine swapfile auf einem schnellen NVMe-Laufwerk bereitzustellen, um Spitzenlasten abzufedern.

5. Strategisches Fazit für Ingenieure im Jahr 2026

cgroups v2 ist das Fundament der Stabilität jeder Infrastruktur, die mit autonomem Code interagiert. Die Durchsetzung harter Hardware-Quotas stellt sicher, dass kein Fehler oder keine Halluzination der KI die Verfügbarkeit des Host-Servers gefährden kann.

/ Häufig gestellte FragenSchema.org FAQPage

FAQ: cgroups v2 Ressourcenquoten & OOM-Watchdogs

cgroups v1 nutzte separate, nicht verbundene Hierarchien für Speicher, Prozessor und Blockgeräte, was zu Fehlern führte und eine präzise I/O-Throttling unmöglich machte. cgroups v2 verwendet eine einzige vereinheitlichte Prozesshierarchie (Unified Hierarchy) und unterstützt Pressure Stall Information (PSI).
/ Interne Links
Alle Begriffe