Ядро Linux cgroup v2 CFS – учет cpu throttled_usec?

Вопрос или проблема

В планировщике CFS cgroup v2 ядра Linux, как учитывается throttled_usec, когда cgroup с несколькими потоками ограничивается в течение одного периода квоты? В частности, отслеживается ли throttled_usec как общее время по часам, в течение которого cgroup в целом была ограничена, или это сумма ограниченного времени всех отдельных потоков?

Версия ядра: “5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Вт Май 9 11:41:53 PDT 2023 x86_64 x86_64 x86_64 GNU/Linux” Дистрибутив: Oracle Linux 9.x

.

Ответ или решение

Вопрос относительно учёта времени в параметре throttled_usec, который является частью статистики cpu в cgroup v2 на Linux-ядре версии 5.14.x, связан с вычислением времени, в течение которого группа процессов (cgroup) была ограничена по использованию CPU.

В контексте CFS (Completely Fair Scheduler) в cgroup v2, параметр throttled_usec отражает общее время в микросекундах, в течение которого данная группа находилась в состоянии ограничения ресурсов по CPU. В данном случае, важен принцип учёта времени и учёт всех процессов внутри cgroup.

Когда группа процессов ограничивается, это значит, что используемый ею процессорный ресурс превышает установленные пределы, и CFS вынужден временно приостановить выполнение этих процессов, чтобы соблюсти заданные границы. throttled_usec в этой ситуации представляет собой время, когда групповые ресурсы были исчерпаны и процесс выполения заморожен.

Важно понимать, что throttled_usec учитывается на уровне всей группы в целом, а не на уровне индивидуальных потоков или процессов внутри этой группы. Таким образом, если несколько потоков исполняются внутри одной cgroup и эта группа в какой-то момент времени ограничивается, throttled_usec будет увеличиваться на время, в течение которого вся группа была под ограничением, а не просто суммируя отдельные периоды бездействия каждого потока.

С технической точки зрения это значит, что когда речь идет об ограничении вычислительных ресурсов, ключевым моментом является фактическое время полной или частичной недоступности этих ресурсов для группы в целом, что позволяет более реалистично оценивать эффективность и производительность при планировании ресурсов.

Говоря о дистрибутиве Oracle Linux 9.x, данная версия ядра поддерживает эти операции, обеспечивая современные возможности мониторинга и управления cgroup на основе CFS, укрепляя ту самую предсказуемость и контроль над серверными ресурсами, которых требует реальный бизнес.

Оцените материал
Добавить комментарий

Капча загружается...