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,调度周期等于最小粒度乘以可运行进程个数。
➡️

继续阅读