cgroups v2 Ресурсные Квоты и OOM Наблюдатели
Механизмы ядра 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 Ресурсные Квоты и OOM Наблюдатели
Связанные термины
Docker Для Агентов И Ботов (Container Sandboxing)
Методология изоляции автономных ИИ-агентов, интерпретаторов кода и фоновых сервисов в легковесных песочницах Docker с использованием cgroups и пространств имен (Namespaces) для предотвращения повреждения хостовой ОС.
VPS Hardening (Укрепление и безопасность Linux VPS)
Системный процесс конфигурации и уменьшения площади атаки (Attack Surface Reduction) операционной системы Linux на виртуальном сервере через ограничение привилегий, криптографическую изоляцию и сетевой аудит.
Disaster Recovery (Восстановление после катастрофы и резервное копирование)
Комплексная инженерная методология и набор автоматизированных инструментов для создания неизменных резервных копий (RPO/RTO) с гарантированным и регулярно тестируемым регламентом восстановления работоспособности систем.
Agent Sandboxing
Аппаратная и программная изоляция среды выполнения автономного агента, обеспечивающая защиту хост-системы, секретов и внутренней сети от вредоносного кода и prompt injection.