Ограничения ресурсов в Docker реализуются с помощью Cgroups (Control groups), механизма ядра Linux, который позволяет организовать процессы в иерархические группы и распределять между ними системные ресурсы (CPU, RAM, I/O, пропускная способность сети).
Основные типы ограничений:
cpu_shares
: Устанавливает относительный вес для доступа к CPU. При наличии свободных ресурсов контейнер может использовать больше, чем его share.cpu_quota
/ cpu_period
: Определяет жесткие лимиты на использование CPU. cpu_period
задает период времени (в микросекундах), а cpu_quota
— максимальное количество микросекунд CPU, которое контейнер может использовать в течение этого периода.cpuset_cpus
: Определяет, на каких ядрах CPU разрешено выполняться процессу контейнера.cpuset_mems
: Определяет, из каких узлов NUMA разрешено использовать память.memory
: Устанавливает жесткое ограничение на объем RAM, доступный контейнеру. При превышении лимита процессы могут быть остановлены ядром (OOM Killer).memory_swap
: Определяет лимит на суммарный объем RAM и swap-памяти.memory_swappiness
: Настраивает, насколько агрессивно ядро будет выгружать странОграничения ресурсов в Docker реализуются с помощью Cgroups (Control groups), механизма ядра Linux, который позволяет организовать процессы в иерархические группы и распределять между ними системные ресурсы (CPU, RAM, I/O, пропускная способность сети).
Основные типы ограничений:
cpu_shares
: Устанавливает относительный вес для доступа к CPU. При наличии свободных ресурсов контейнер может использовать больше, чем его share.cpu_quota
/ cpu_period
: Определяет жесткие лимиты на использование CPU. cpu_period
задает период времени (в микросекундах), а cpu_quota
— максимальное количество микросекунд CPU, которое контейнер может использовать в течение этого периода.cpuset_cpus
: Определяет, на каких ядрах CPU разрешено выполняться процессу контейнера.cpuset_mems
: Определяет, из каких узлов NUMA разрешено использовать память.memory
: Устанавливает жесткое ограничение на объем RAM, доступный контейнеру. При превышении лимита процессы могут быть остановлены ядром (OOM Killer).memory_swap
: Определяет лимит на суммарный объем RAM и swap-памяти.memory_swappiness
: Настраивает, насколько агрессивно ядро будет выгружать странRegister or sign in to get access to full answers for all questions from the question bank.