Skip to main content

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 — это фундамент стабильности любой инфраструктуры, взаимодействующей с автономным кодом. Установка жестких аппаратных квот гарантирует, что ни одна ошибка или галлюцинация ИИ не сможет нарушить доступность хостового сервера.

/ Частые вопросыSchema.org FAQPage

FAQ: cgroups v2 Ресурсные Квоты и OOM Наблюдатели

cgroups v1 имел разделенные несвязанные иерархии для памяти, процессора и блочных устройств, что приводило к багам и невозможности точного троттлинга ввода/вывода (I/O). cgroups v2 использует единую объединенную иерархию процессов (Unified Hierarchy) и поддерживает давление на память (Pressure Stall Information - PSI).
/ Внутренняя перелинковка
Все термины
VPS и DevOps

Docker Для Агентов И Ботов (Container Sandboxing)

Методология изоляции автономных ИИ-агентов, интерпретаторов кода и фоновых сервисов в легковесных песочницах Docker с использованием cgroups и пространств имен (Namespaces) для предотвращения повреждения хостовой ОС.

Читать термин
VPS и DevOps

VPS Hardening (Укрепление и безопасность Linux VPS)

Системный процесс конфигурации и уменьшения площади атаки (Attack Surface Reduction) операционной системы Linux на виртуальном сервере через ограничение привилегий, криптографическую изоляцию и сетевой аудит.

Читать термин
VPS и DevOps

Disaster Recovery (Восстановление после катастрофы и резервное копирование)

Комплексная инженерная методология и набор автоматизированных инструментов для создания неизменных резервных копий (RPO/RTO) с гарантированным и регулярно тестируемым регламентом восстановления работоспособности систем.

Читать термин
Агенты и MCP

Agent Sandboxing

Аппаратная и программная изоляция среды выполнения автономного агента, обеспечивающая защиту хост-системы, секретов и внутренней сети от вредоносного кода и prompt injection.

Читать термин