Cgroups (control groups) — механизм ядра Linux для ограничения, учёта и изоляции ресурсов процессов: CPU, памяти, I/O, сети. Без cgroups один процесс может сожрать всю память сервера и убить всё остальное. С cgroups — у каждого сервиса своя квота.
Cgroups v2 — переработанная версия, ставшая стандартом начиная с Ubuntu 22.04, Debian 12, RHEL 9. Главное отличие от v1: единая иерархия вместо отдельных иерархий для каждого контроллера. Это упростило управление и устранило ряд сложных edge cases.
На практике cgroups v2 нужны когда:
- На одном сервере запущено несколько сервисов с разными приоритетами
- Нужно защитить критичный сервис от OOM-kill из-за других процессов
- Требуется ограничить потребление ресурсов контейнерами Docker/Podman
- Нужен учёт ресурсов для биллинга или capacity planning
Systemd использует cgroups v2 прямо из коробки — каждый systemd-сервис автоматически получает свой cgroup.


