加载中...

CFS(Completely Fair Scheduler)是 Ingo Molnar 开发、自 Linux 2.6.23(2007 年)起成为默认的进程调度器,目标是让所有可运行任务"公平"地分享 CPU 时间。
CFS 为每个任务维护虚拟运行时间(vruntime),权重(由 nice 值决定)越高 vruntime 增长越慢;调度器总是挑选 vruntime 最小的任务运行,用红黑树按 vruntime 排序实现 O(log n) 的选取。它没有固定时间片,而是按可运行任务数动态划分调度周期。
CFS 配合 cgroup 的 cpu 控制器实现组调度与带宽限制(cpu.max),是容器 CPU 配额的基础。
CFS 在桌面延迟场景存在不足,Linux 6.6(2023 年)起被 EEVDF 调度器取代,后者在公平性的基础上引入截止期限概念以改善延迟;CFS 作为服役十六年的调度器仍是理解 Linux 调度的经典范本。

登录 后参与讨论
暂无讨论,来发表第一条评论吧