On Linux, system load
is defined as the exponentially decaying average of
num runnable processes + num uninterruptable processes
. I am wondering if it will correctly account for CFS cgroup quota used to limit the number of cpu shares a group of processes may use in a given interval.
In other word: If a process is throttled due to depleted CFS quota, is it still considered runnable and therefore reflected in the system load average?
Advertisement
Answer
The answer can be found in this article on Per-entity load tracking:
Throttled processes don’t contribute to load. In a nutshell, every cgroup has its own per cpu run queue, and when the scheduler calculate the load of the whole system, it checks every queue and skips throttled processes.
Credit for this answer goes to Haosdent Huang via the Mesos slack community chat.