CFS调度器

简介: CFS调度器

CFS又称完全公平调度策略,只针对普通进程,不针对RT进程。内部实现使用红黑树,左节点的值小于右节点。


红黑树节点的值为vruntime(进程的虚拟运行时间)


vruntime=pruntime*NICE_0_LOAD/weight


pruntime:物理运行时间


weight:权重


NICE_0_LOAD:参数,1024,nice为0时的权重值


CFS调度策略


  1. RT进程都睡眠或者执行时间超时
  2. 开始调度普通进程
  3. 最先调度vruntime最小的进程,也就是红黑树最左边的进程,此进程为P1
  4. 随着P1的运行,P1的pruntime会增加,于是P1的vruntime增加,P1进程在红黑树上右移。P1的优先级下降,这时候会出现另一个vruntime最小的进程,则调度到这个新的进程。
  5. 若突然出现RT进程,则RT进程会立即被调度


pruntime小意味着是IO消耗型进程,weight大意味着nice值小,优先级高


chrt设置调度策略和优先级,nice和renice设置进程的nice值。

相关文章
|
5月前
|
算法 调度
进程的调度算法有哪些
进程的调度算法有哪些
|
6月前
|
资源调度 算法 调度
CPU调度
CPU调度
54 0
|
6月前
|
缓存 Linux 调度
CPU的亲和性
CPU的亲和性
101 0
|
11月前
|
算法 程序员 调度
处理机调度
在多道程序环境下,内存中存在着多个进程,进程的数目往往多于处理机的数目。这就要求系统能按某种算法,动态地将处理机分配给一个处于就绪状态的进程,使之执行。分配处理机的任务是由处理机调度程序完成的。 对于大型系统运行时的性能,如系统吞吐量、资源利用率、作业周转时间或响应的及时性等,在很大程度上都取决于处理机调度性能的好坏。因而,处理机调度便成为OS中至关重要的部分。
|
缓存 分布式计算 资源调度
kubernetes 【调度和驱逐】【2】kube-scheduler调度器
kubernetes 【调度和驱逐】【2】kube-scheduler调度器
kubernetes 【调度和驱逐】【2】kube-scheduler调度器
|
算法 调度
进程调度策略有哪几种
进程调度策略有哪几种
143 0
|
存储
CFS 是什么
CFS 是什么
999 0
|
存储 SQL Oracle
SCHEDULE(调度程序)
很多情况下,数据库管理员或用户需要自动调度和运行很多类型的作业,例如,执行维护工作(如数据库备份);数据加载和验证例程; 生成报表;收集优化程序统计信息或执行业务流程。可以使用调度程序功能指定任务在将来某个时间点运行。作业可以在数据库中、在驻 留数据库实例的机器上甚至在远程机器上运行。 可以结合使用调度程序和Resource Manager(资源管理器)。调度程序可以激活Resource Manager计划,并按照为各种Resource Manager 使用者组指定的优先级来运行作业。 调度程序是在Oracle 10g版本中引入的,在11g版本中得到了