linux调度器(六)——应用层理解CFS及组调度

本文从应用层角度探讨Linux的 Completely Fair Scheduler (CFS) 和组调度。通过示例展示了如何调整进程优先级、限制CPU使用,并通过创建cgroup观察组调度效果。核心思想是权重分配CPU时间,计算各进程应得的执行时间片。通过计算得出各进程在3号CPU上的执行比例分别为43.1%,14.1%,28.6%和14.3%。
摘要由CSDN通过智能技术生成

         上面我们介绍了CFS及组调度相关的主要内容,但可能很多人还跟我一样有点云里雾里的,下面我们直接从应用层面上也查看CFS及组调度的效果。首先对于非组调度,决定它们运行时间的唯一因素就是weight,也就是我们知道的nice,我们可以通过renice来重新调整进程的优先级,然后再使用taskset将它们限定在同一个CPU上(CFS只是保证一个CPU的公平,所以你可以看到一个有趣的现象:如指定两个进程的CPU_ALLOWS都有3,4,然后他们的优先级不一样0,3,结果是它们的CPU使用时间是一样的。如果再运行一个0级的进程会怎样?再把它改为5级?——SMP)。
    下面我们看一下组调度,为了便于理解及查看proc信息,我们创建一个包括cpu,cpuset子系统的cgroup(mount –tcgroup –o cpu,cpuset none /cgroup/cpu),然后再在下层创建一个one group,并且它的catcpuset.cpus =3,cat cpuset.cpu_exclusive=1(即该cgroup下的进程只在3号cpu上运行,并且这个cpu是独占的)。我们的例子如下:


图 CFS组调度实

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值