cgroups v2: Kwoty zasobów i watchdogi OOM
Mechanizmy jądra Linux (Control Groups v2) służące do ustanawiania sztywnych limitów sprzętowych dla pamięci RAM, procesora CPU, dysku oraz liczby procesów (PIDs), w celu ochrony hosta przed zawieszającymi się cyklami agentów.
1. Przegląd koncepcji i problem systemowy
Autonomiczne agenci AI są z natury nieprzewidywalni:
- Agent pisze funkcję rekurencyjną do traversacji grafu plików, zapomina o warunku wyjścia i inicjuje nieskończone przydzielanie pamięci.
- W ciągu 30 sekund zużycie RAM skacze z 200 MB do 32 GB.
- Na hoście aktywuje się mechanizm awaryjny Linux Out-Of-Memory (OOM Killer), który według nieprzewidywalnego algorytmu heurystycznego zabija nie tylko zawieszonego agenta, ale także główną bazę danych PostgreSQL oraz serwer webowy.
Control Groups v2 (cgroups v2) to inżynieryjna klatka jądra Linux. Pozwala ona przypisać procesowi agenta ścisłe ramy: nawet jeśli agent będzie próbował przydzielić terabajt pamięci, jądro wymusi ograniczenie do wyznaczonego limitu i bezpiecznie zakończy wyłącznie ten konkretny, izolowany proces.
2. Taksonomia architektoniczna i model mentalny
┌─────────────────────────────────────────────────────────────┐
│ CGROUPS V2 UNIFIED HIERARCHY │
├─────────────────────────────────────────────────────────────┤
│ ROOT CONTROL GROUP (/sys/fs/cgroup) │
│ ├── system.slice (Krytyczne usługi hosta: SSH, Systemd, UFW) │
│ │ ➔ Gwarantowana pamięć i wysoki priorytet CPU │
│ └── agent-sandbox.slice (Izolowane środowisko agenta) │
│ ├── memory.max = 1536M (Twardy limit pamięci) │
│ ├── memory.high = 1200M (Miękki limit: throttling) │
│ ├── cpu.max = 100000 100000 (Maks. 1 pełny rdzeń) │
│ ├── pids.max = 150 (Ochrona przed Fork Bomb) │
│ └── io.weight = 100 (Niski priorytet zapisu na SSD) │
└─────────────────────────────────────────────────────────────┘
3. Praktyczne scenariusze inżynierskie w środowisku produkcyjnym
01. Ochrona hosta za pomocą systemd-run
Uruchomienie ryzykownego skryptu agentowego bezpośrednio w wydzielonej grupie limitów bez użycia kontenera:
systemd-run --scope -p MemoryMax=1G -p CPUQuota=50% -p TasksMax=50 python agent_worker.py
Jeśli skrypt przekroczy 1 GB RAM, jądro natychmiast ponownie uruchomi jedynie usługę agent_worker.py, nie ingerując w żaden inny proces na serwerze.
02. Wykorzystanie PSI do adaptacyjnego zarządzania obciążeniem
Demon monitorujący odczytuje /proc/pressure/memory. Jeśli wskaźnik ciśnienia przekracza 20%, system automatycznie wstrzymuje przyjmowanie nowych zadań dla agentów, dopóki bieżące obliczenia nie zostaną zakończone.
4. Pułapki, typowe błędy i bezpieczeństwo
- Pętla OOM (Nieskończony cykl restartów): Jeśli limit pamięci zostanie ustawiony zbyt nisko (np. 256 MB dla aplikacji Node.js), agent będzie upadał i restartował się co 10 sekund, zapychając kolejki zadań.
- Wyłączony Swap: Przy całkowitym braku pliku swap na serwerze gwałtowny skok zużycia pamięci powoduje natychmiastowe wysłanie sygnału SIGKILL. Zaleca się posiadanie niewielkiego obszaru zram lub pliku swapfile na szybkim dysku NVMe w celu amortyzacji szczytowych skoków obciążenia.
5. Strategiczny wniosek dla inżyniera roku 2026
cgroups v2 to fundament stabilności każdej infrastruktury współpracującej z autonomicznym kodem. Ustawienie sztywnych kwot sprzętowych gwarantuje, że żadna pomyłka czy halucynacja AI nie będzie w stanie naruszyć dostępności serwera hosta.
FAQ: cgroups v2: Kwoty zasobów i watchdogi OOM
Powiązane pojęcia
Docker dla agentów i botów (konteneryzacja w piaskownicy)
Metodologia izolacji autonomicznych agentów AI, interpreterów kodu oraz usług działających w tle w lekkich piaskownicach Docker przy użyciu cgroups i przestrzeni nazw (Namespaces) w celu zapobiegania uszkodzeniu systemu operacyjnego hosta.
Hardenowanie VPS (Bezpieczeństwo i konfiguracja Linux VPS)
Systemowy proces konfiguracji oraz redukcji powierzchni ataku (Attack Surface Reduction) systemu operacyjnego Linux na serwerze wirtualnym poprzez ograniczenie uprawnień, izolację kryptograficzną oraz audyt sieciowy.
Odzyskiwanie awaryjne (Disaster Recovery) i kopie zapasowe
Kompleksowa metodologia inżynieryjna oraz zestaw zautomatyzowanych narzędzi do tworzenia niezmienialnych kopii zapasowych (RPO/RTO) z gwarantowanym i regularnie testowanym protokołem przywracania sprawności systemów.
Sandboxing agentów
Izolacja sprzętowa i programowa środowiska wykonawczego autonomicznego agenta, zapewniająca ochronę systemu hosta, sekretów oraz sieci wewnętrznej przed szkodliwym kodem i atakami typu prompt injection.