加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮北站长网 (https://www.0561zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

如何在Linux 2.6.x中计算线程的动态优先级?

发布时间:2021-01-08 08:20:10 所属栏目:Linux 来源:网络整理
导读:线程(或任务)将通过使用大量CPU来丢失动态优先级,并通过使用较少的CPU获得优先级.如何为n个线程计算这些优先级(使用正常调度策略SCHED_OTHER)?最佳答案引自this The Linux 2.6.8.1 scheduler rewards I/O-bound tasks and punishes CPU-bound tasks by ad

线程(或任务)将通过使用大量CPU来丢失动态优先级,并通过使用较少的CPU获得优先级.如何为n个线程计算这些优先级(使用正常调度策略SCHED_OTHER)? 最佳答案 引自this

The Linux 2.6.8.1 scheduler rewards I/O-bound tasks and punishes
CPU-bound tasks by adding or subtracting from a task’s static
priority. The adjusted priority is called a task’s dynamic priority,
and is accessible via the task’s prio variable (e.g. p->prio where p
is a task). If a task is interactive (the scheduler’s term for I/O
bound),its priority is boosted. If it is a CPU hog,it will get a
penalty. In the Linux 2.6.8.1 scheduler,the maximum priority bonus is
5 and the maximum priority penalty is 5. Since the scheduler uses
bonuses and penalties,adjustments to a task’s static priority are
respected. A mild CPU hog with a nice value of -2 might have a dynamic
priority of 0,the same as a task that is neither a CPU nor an I/O
hog.

我觉得这是一个公平的解释.优先级的计算基于CPU绑定线程还是I / O绑定线程.关于你在问题中提到的内容,通过使用较少的CPU获得优先级是通过交互(I / O绑定)获得优先级.我希望这段摘录能回答你的问题……

(编辑:淮北站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读