Как называется пространство имен в Linux, связанное с ограничением и учетом ресурсов?

«Как называется пространство имен в Linux, связанное с ограничением и учетом ресурсов?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Это cgroups (control groups) — механизм ядра Linux для организации процессов в иерархические группы с целью ограничения, учета и изоляции ресурсов (CPU, память, диск I/O, сеть).

Основные подсистемы (controllers):

  • cpu, cpuset: Ограничение и привязка к CPU.
  • memory: Ограничение использования памяти.
  • blkio: Ограничение ввода-вывода на блочных устройствах.
  • pids: Ограничение количества процессов.

Практический пример (v2):

# Создание cgroup для ограничения памяти сервиса
sudo mkdir /sys/fs/cgroup/mycgroup
# Установка лимита в 512 МБ
echo 536870912 > /sys/fs/cgroup/mycgroup/memory.max
# Помещение текущего shell-процесса в группу
echo $$ > /sys/fs/cgroup/mycgroup/cgroup.procs
# Теперь все процессы, запущенные из этого shell, будут ограничены 512 МБ

Cgroups являются фундаментальной технологией для контейнеризации (Docker, Kubernetes), обеспечивая изоляцию ресурсов между контейнерами.