aliases |
tags |
date |
zero-link |
parents |
linked |
|
|
|
|
|
|
Control group — это механизм в ядре Linux, предоставляющий функциональность управления и ограничения ресурсами, используемыми процессами, запущенными в системе. Это позволяет системному администратору распределять ресурсы, такие как CPU, память, пропускная способность сети и доступ к устройствам, между наборами процессов.
С помощью cgroup можно:
- Управлять лимитом cpu. Как процент времени, который выделяется, так и CPU-sets, то есть какие ядра мы можем задействовать. Есть как общее ограничение, так и индивидуальные для подпроцессов
- Управлять ограничением по памяти. Имеется возможность настроить как максимальный так и минимальный порог.
- Доступ к устройствам
- Ограничения сети
- Ограничения дисковых операций
С помощью cgroup можно:
- Ограничивать количество ресурсов, которые могут использовать процессы в группе. Например, можно задать максимальное количество CPU или объем оперативной памяти, которые доступны определенной группе процессов.
- Отслеживать использование ресурсов процессами или группами процессов. Это позволяет вести мониторинг загрузки системы и определять, какие процессы или группы процессов используют больше всего ресурсов.
- Управлять приоритетами доступа к ресурсам для различных групп процессов. Это может быть полезно для обеспечения того, чтобы критически важные задачи имели доступ к необходимым ресурсам в первую очередь.
Утилита cgroup
позволяет организовывать процессы в иерархические группы, что упрощает управление и делает систему более гибкой и масштабируемой. cgroup
широко используется в технологиях виртуализации и контейнеризации, таких как Docker и Kubernetes, поскольку они предоставляют эффективные средства для изоляции и управления ресурсами виртуальных и контейнеризированных сред.