Linux进程的调度
💡
原文中文,约700字,阅读约需2分钟。
📝
内容提要
完全公平调度类采用动态时间片算法分配CPU时间,调度延迟为可运行进程的两次运行间隔。最小调度粒度确保进程至少执行一定时间,以避免频繁调度造成的时间浪费。调度周期根据可运行进程数量和延迟进行调整。
🎯
关键要点
- 完全公平调度类使用动态时间片算法分配CPU时间。
- 调度延迟是可运行进程两次运行之间的时间间隔。
- 调度延迟记录在/proc/sys/kernel/sched_latency_ns中,以纳秒为单位。
- 引入调度最小粒度以避免频繁调度造成的时间浪费。
- 调度最小粒度记录在/proc/sys/sched_min_granularity_ns中,以纳秒为单位。
- sched_nr_latency是调度延迟与调度最小粒度的比值,表示允许的最大运行数目。
- 如果可运行进程个数小于sched_nr_latency,调度周期等于调度延迟。
- 如果可运行进程超过sched_nr_latency,调度周期等于最小粒度乘以可运行进程个数。
➡️