@Valioozz

Как Linux CFS распределяет нагрузку cgroups в мультипроцессорной системе?

Пытаюсь разобраться как будет вести себя CFS при наличии 2х cgroups с эквивалентными cpu.shares например 8-ми ядерной системе. Интересует только идеальная теоретическая сторона вопроса.

Будет ли каждая cgroups получать 50% от каждого из 8 ядер, или она может быть распределена как угодно но чтобы процесс получил эквивалент 4CPU вычислительных ресурсов?

Пример:
Если представить что у нас есть 8-ми ядерная система и мы запустим 2 контейнера, без квот ограничения, каждый из которых будет находиться в своей cgroup и для каждой будет установлено по умолчанию 1024 shares то, учитывая что cgroups не предоставляют полную изоляцию, то оба контейнера будут видеть все 8 ядер системы и по умолчанию могут использовать суммарно 4 ядра
Я почему-то считал что это будут не 4 выделенных ядра, а по умолчанию это будет 50% от каждого из 8 ядер.

Помогите разобраться, спасибо
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
Эквивалент 4CPU вычислительных ресурсов при возможной 100% загрузке.
RedHat docs
Note that shares of CPU time are distributed per all CPU cores on multi-core systems. Even if a cgroup is limited to less than 100% of CPU on a multi-core system, it may use 100% of each individual CPU core.

Потому что такое проще реализовать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы