linux cpu CFS 调度器有使用 令牌桶么?

根据搜索结果,Linux CPU 完全公平调度器(CFS)本身的设计和实现中,并没有使用令牌桶(Token Bucket)算法。CFS 的核心调度机制是基于红黑树和虚拟运行时间(vruntime)来实现任务的公平调度,它通过模拟一个理想的多任务CPU,使每个任务能公平地获得CPU时间片。

具体来说,CFS通过跟踪每个任务的虚拟运行时间,维护一个排序的红黑树,从树的最左边节点选择下一个运行的任务,从而实现公平调度。CFS没有使用基于时间片的令牌桶算法来控制调度时间,而是依赖于虚拟运行时间和负载权重计算来动态分配CPU资源。

不过,CFS在CPU资源带宽控制方面有相关的机制,比如CPU带宽控制(CONFIG_CFS_BANDWIDTH),该机制可用于限制某个进程或进程组的CPU使用比例,但这部分也并不是基于令牌桶算法,而是一种CPU使用时间的限制和借用机制。

总结:Linux的 CFS 调度器不使用令牌桶算法作为调度机制,主要采用虚拟运行时间和红黑树实现公平调度。令牌桶算法常用于流量控制、限速等场景,而非 Linux CFS 的 CPU 时间分配机制.

相关推荐
北风toto9 小时前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
代码羊羊9 小时前
Rust 格式化输出完全攻略:从入门到精通
开发语言·后端·rust
Rust研习社9 小时前
Rust + PostgreSQL 极简技术栈应用开发
开发语言·数据库·后端·http·postgresql·rust
geovindu10 小时前
go:Template Method Pattern
开发语言·后端·设计模式·golang·模板方法模式
白晨并不是很能熬夜10 小时前
【RPC】第 4 篇:服务发现 — Zookeeper + 缓存容错
java·后端·程序人生·缓存·zookeeper·rpc·服务发现
我这一拳20年的功力10 小时前
深入解析 XXL-JOB 核心原理:从 Quartz 到自研时间轮
后端
MgArcher10 小时前
一个下划线表示“别动”,两个下划线表示“真别动”!Python属性访问控制,看懂这篇就够了
后端
ltl10 小时前
【大模型基础设施工程】19:Agent 框架工程
后端
Leinwin10 小时前
Claude 四月宕机七次:从一次事故看企业级 AI 部署的容灾设计
后端·python·flask
是希燃亚10 小时前
hermes迁移手册,将hermes迁移到不同服务器~
后端·github