cgroups v2 Resource Quotas & OOM Watchdogs(Контрольні групи ядра cgroups v2 та приборкання ресурсів)
Механізми ядра Linux (Control Groups v2) для встановлення жорстких апаратних лімітів на RAM, CPU, диск і кількість процесів (PIDs) з метою захисту хоста від завислих агентських циклів.
1. Огляд концепції та системна проблема
Автономні ШІ-агенти за своєю природою непередбачувані:
- Агент пише рекурсивну функцію обходу графа файлів, забуває умову виходу і запускає нескінченне виділення пам'яті.
- За 30 секунд споживання RAM підскакує з 200 МБ до 32 ГБ.
- На хості спрацьовує аварійний механізм Linux Out-Of-Memory (OOM Killer), який за непередбачуваним евристичним алгоритмом вбиває не лише завислого агента, а й основну базу даних PostgreSQL та веб-сервер.
Control Groups v2 (cgroups v2) — це інженерна клітка ядра Linux. Вона дозволяє призначити процесу агента строгі рамки: навіть якщо агент намагатиметься виділити терабайт пам'яті, ядро примусово обмежить його виділеним лімітом і акуратно завершить лише цей конкретний ізольований процес.
2. Архітектурна таксономія та ментальна модель
┌─────────────────────────────────────────────────────────────┐
│ 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. Практичні інженерні сценарії в продакшені
01. Захист хостового сервера через systemd-run
Запуск ризикованого агентського скрипта безпосередньо у виділеній групі обмежень без контейнера:
systemd-run --scope -p MemoryMax=1G -p CPUQuota=50% -p TasksMax=50 python agent_worker.py
Якщо скрипт перевищить 1 ГБ RAM, ядро миттєво перезапустить лише сервіс agent_worker.py, не зачепивши жодного іншого процесу на сервері.
02. Використання PSI для адаптивного керування навантаженням
Моніторинговий демон зчитує /proc/pressure/memory. Якщо показник тиску перевищує 20%, система автоматично призупиняє прийом нових задач для агентів, доки поточні обчислення не завершаться.
4. Підводні камені, типові помилки та безпека
- OOM Loops (Нескінченний цикл перезапусків): Якщо ліміт пам'яті встановлено занадто низько (наприклад, 256 МБ для Node.js додатку), агент буде падати і перезапускатися кожні 10 секунд, забиваючи черги.
- Вимкнений Swap: За повної відсутності Swap-файлу на сервері різкий стрибок пам'яті викликає негайний SIGKILL. Рекомендується мати невеликий zram або swapfile на швидкому NVMe для пом'якшення пікових сплесків.
5. Стратегічний висновок для інженера 2026 року
cgroups v2 — це фундамент стабільності будь-якої інфраструктури, що взаємодіє з автономним кодом. Встановлення жорстких апаратних квот гарантує, що жодна помилка чи галюцинація ШІ не зможе порушити доступність хостового сервера.
FAQ: cgroups v2 Resource Quotas & OOM Watchdogs
Пов'язані терміни
Docker для агентів та ботів (Container Sandboxing)
Методологія ізоляції автономних ШІ-агентів, інтерпретаторів коду та фонових сервісів у легковагових пісочницях Docker за допомогою cgroups та просторів імен (Namespaces) для запобігання пошкодженню хостової ОС.
VPS Hardening (Харденінг та безпека Linux VPS)
Системний процес конфігурації та зменшення поверхні атаки (Attack Surface Reduction) операційної системи Linux на віртуальному сервері через обмеження привілеїв, криптографічну ізоляцію та мережевий аудит.
Disaster Recovery (Аварійне відновлення та бекапи)
Комплексна інженерна методологія та набір автоматизованих інструментів для створення незмінних резервних копій (RPO/RTO) з гарантованим та регулярно тестованим регламентом відновлення працездатності систем.
Agent Sandboxing
Апаратна та програмна ізоляція середовища виконання автономного агента, що гарантує захист хост-системи, секретів і внутрішньої мережі від шкідливого коду та prompt injection.