外观
如何理解CFS 与公平调度?
标准回答
经典CFS通过虚拟运行时间衡量调度实体已经得到的CPU服务,按权重归一化实际运行时间。权重较大者在同样运行时间内的vruntime增长较慢,从而获得相应更大的CPU份额;可运行实体按相关时间顺序组织,调度倾向于选择需要补足服务的实体。
公平不等于每个线程每次都跑同样长,也不等于保证某个UI线程的最迟响应时间。多核负载均衡、组调度、优先级及其他调度类都会影响实际结果。
理解经典 CFS 后,还需要注意现代内核引入的 EEVDF。目标 Android 厂商内核可能有回移或定制,不能只凭 Android 版本断言使用哪一种实现。
追问与回答
nice值越小意味着什么
对普通调度任务通常意味着更高权重,而不是绝对实时优先级;实际效果还受组、核心限制和其他调度类影响。
参考资料
内容来源
- Android 与 AI 工程 Wiki · 原条目
q060