在 Linux 上,系统load
被定义为
num runnable processes + num uninterruptable processes
. 我想知道它是否会正确考虑用于限制一组进程在给定时间间隔内可能使用的 cpu 共享数量的CFS cgroup 配额。
换句话说:如果一个进程由于 CFS 配额耗尽而受到限制,它是否仍被视为可运行并因此反映在系统负载平均值中?
在 Linux 上,系统load
被定义为
num runnable processes + num uninterruptable processes
. 我想知道它是否会正确考虑用于限制一组进程在给定时间间隔内可能使用的 cpu 共享数量的CFS cgroup 配额。
换句话说:如果一个进程由于 CFS 配额耗尽而受到限制,它是否仍被视为可运行并因此反映在系统负载平均值中?
答案可以在这篇关于Per-entity load tracking 的文章中找到:
受限制的进程不会增加负载。简而言之,每个 cgroup 都有自己的每个 cpu 运行队列,当调度程序计算整个系统的负载时,它会检查每个队列并跳过受限制的进程。
通过 Mesos slack 社区聊天,这个答案归功于 Haosdent Huang。