Что такое root CGROUP? - PullRequest
       16

Что такое root CGROUP?

0 голосов
/ 05 февраля 2020

здесь упомянуто:

В режиме classi c, который в конечном итоге может быть признан устаревшим, но все еще полностью поддерживается, может быть несколько отдельных иерархий cgroup. , Каждая иерархия начинает свою жизнь как root cgroup , которая изначально содержит все процессы.


Что такое root CGROUP? В Linux модели процесса.

1 Ответ

2 голосов
/ 05 февраля 2020

В вашей статье говорится о "classi c" против "унифицированных" ( cgroup v2 ) cgroups:

https://lwn.net/Articles/606699/

Как недавно сообщалось, ядро ​​3.16 Linux будет поддерживать в стадии разработки так называемую "унифицированную иерархию". Новые идеи, появившиеся в результате этого развития, еще не будут обсуждаться, так как мы не можем по-настоящему оценить, какую ценность они могут принести, пока мы полностью не поймем, что у нас есть ...

В режиме classi c, который может в конечном итоге не рекомендуется, но все еще полностью поддерживается, может быть несколько отдельных иерархий cgroup. Каждая иерархия начинает свою жизнь как root cgroup, которая изначально содержит все процессы. Этот root узел создается путем монтирования экземпляра виртуальной файловой системы "cgroup", и все дальнейшие изменения в иерархии происходят посредством манипуляций с этой файловой системой, ...

Это очень "организационный" способ манипулировать иерархией: создайте новую группу и найдите кого-нибудь, чтобы заполнить ее ....

Вот хорошая статья о текущем статусе принятия v2 (например, сообщество Docker) ):

Текущий статус принятия cgroup v2 в контейнерах

Fedora 31 была выпущена 29 октября 2019 года. Это первый крупный дистрибутив, который появится cgroup v2 (он же унифицированная иерархия) включен по умолчанию, через 5 лет после его появления в Linux ядре 3.16 (3 августа 2014 г.).

Хотя принятие cgroup v2 является неизбежным шагом к 2020-м годам, большинство реализаций контейнеров, включая Docker / Moby и Kubernetes, все еще не поддерживают cgroup v2 ...

OK: to Ваш вопрос - «Что такое root CGROUP?»

Все cgroups являются иерархическими, поэтому любая cgroup может (и будет) иметь "root" .

Согласно документации:

http://man7.org/linux/man-pages/man7/cgroups.7.html

Создание групп и перемещение процессов

Файловая система cgroup изначально содержит одну root cgroup, '/', к которой принадлежат все процессы. Новая cgroup создается путем создания каталога в файловой системе cgroup:

mkdir /sys/fs/cgroup/cpu/cg1

Это создает новую пустую cgroup.

Процесс может быть перемещен в эту cgroup путем записи его PID в Файл cgroup.procs cgroup:

echo $$ > /sys/fs/cgroup/cpu/cg1/cgroup.procs

В этот файл следует записывать только один PID за раз ....

Полезные статьи:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...