我是Linux内核的新手。我从这里阅读有关Linux的CFS调度程序的信息
https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt
我碰到了几行
运行队列中正在运行的任务总数是通过
rq-> cfs.load值,它是队列中排队的任务权重的总和
运行队列。
现在,如果rq-> cfs.load告诉您可运行进程的总数,那么它应该是这样的数字:
3-> 3个进程可运行
5-> 5个进程可运行
但是rq-> cfs.load的实际值是进程权重的总和。
我的问题是:
加权和如何显示可运行进程的数量?
我们这里所说的过程权重是什么意思?
最佳答案
我仍然是Linux的初学者。但是据我了解,这意味着
1.我认为您有点困惑:每当流程数量增加(发生变化)时,都需要一些调度参数
改变了。调度类的功能而不是计算
进程数,它使用它的负载值来计算
参数。因此,更改(即,进程数增加)为
考虑(即考虑在内)以计算负载值
通过cfs_rq-> load变量。然后我们执行cfs_rq-> load的更新
通过总结过程的权重。
2.流程权重:流程权重是通过其动态优先级来计算的。动态资产如何计算?动态优先级计算:
静态优先级+“进程的计划类”
预定”(即实时与常规)用于计算动态
优先。计算不是简单的加法。阅读此Link from UTLK。阅读一些静态优先级的链接。
关于linux - Linux内核中rq-> cfs.load值确切代表什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21806541/