分享

linux 调度/实时

 心不留意外尘 2016-05-07

 http://blog.csdn.net/adaptiver/article/details/6585372

2011

SCHED_FIFO/SCHED_RR/SCHED_OTHERS

实时进程

 /proc/sys/kernel # cat sched_rt_period_us
1000000
/proc/sys/kernel # cat sched_rt_runtime_us
950000

 

sched_rt_runtime_us 表示所有实时进程一次能占有CPU的最长时间,缺省是1秒,当这个时间被用完,他们必须等待下面参数sched_rt_period_us 表示的时间(缺省是0.95s)才能被重新调度。
sched_rt_period_us 表示下一次调度实时进程的时间。
看来这两个参数是在调度实时进程和非实时进程之间做调整和平衡。

介绍一下linux系统中的两个proc文件:/proc/sys/kernel/sched_rt_period_us和/proc/sys/kernel/sched_rt_runtime_us。这两个文件规定了,在以sched_rt_period_us为一个周期的时间内,所有实时进程的运行时间之和不超过sched_rt_runtime_us。这两个文件的默认值是1s和0.95s,表示每秒种为一个周期,在这个周期中,所有实时进程运行的总时间不超过0.95秒,剩下的至少0.05秒会留给普通进程。也就是说,实时进程占有不超过95%的CPU。而在这两个文件出现之前,实时进程的运行时间是没有限制的(就像《linux进程调度浅析》里面描述的那样),如果一直有处于TASK_RUNNING状态的实时进程,则普通进程会一直不能得到运行。相当于sched_rt_runtime_us等于sched_rt_period_us。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多