digital-garden/_inbox/Control group.md
2024-06-13 21:01:37 +03:00

28 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- cgroup
tags:
- зрелость/🌱
date:
- - 2024-03-19
zero-link:
- "[[00 Linux]]"
parents:
- "[[Контейнерная виртуализация]]"
linked:
---
Control group — это механизм в ядре Linux, предоставляющий функциональность управления и ограничения ресурсами, используемыми [процессами](Процесс%20ОС.md), запущенными в системе. Это позволяет системному администратору распределять ресурсы, такие как CPU, память, [пропускная способность](Throughput.md) сети и доступ к устройствам, между наборами процессов.
С помощью cgroup можно:
- Управлять лимитом cpu. Как процент времени, который выделяется, так и CPU-sets, то есть какие ядра мы можем задействовать. Есть как общее ограничение, так и индивидуальные для подпроцессов
- Управлять ограничением по памяти. Имеется возможность настроить как максимальный так и минимальный порог.
- Доступ к устройствам
- Ограничения сети
- Ограничения дисковых операций
С помощью cgroup можно:
- Ограничивать количество ресурсов, которые могут использовать процессы в группе. Например, можно задать максимальное количество CPU или объем оперативной памяти, которые доступны определенной группе процессов.
- Отслеживать использование ресурсов процессами или группами процессов. Это позволяет вести мониторинг загрузки системы и определять, какие процессы или группы процессов используют больше всего ресурсов.
- Управлять приоритетами доступа к ресурсам для различных групп процессов. Это может быть полезно для обеспечения того, чтобы критически важные задачи имели доступ к необходимым ресурсам в первую очередь.
Утилита `cgroup` позволяет организовывать процессы в иерархические группы, что упрощает управление и делает систему более гибкой и масштабируемой. `cgroup` широко используется в технологиях виртуализации и контейнеризации, таких как Docker и Kubernetes, поскольку они предоставляют эффективные средства для изоляции и управления ресурсами виртуальных и контейнеризированных сред.