相关疑难解决方法(0)

Linux 中的实时进程调度

我一直在学习一些调度概念。目前我的理解如下。

  • 有实时进程和非实时进程。
  • 非实时进程nice的优先级值可以在-20+20的范围内。较高的正值表示该进程具有较低的优先级。
  • 实时进程将列出一个 niceness 值,-如本答案here中所述。这主要是因为实时进程比非实时进程具有更高的优先级,并且niceness 值不适用于它们。
  • 现在,我可以使用chrt来查看进程的实时属性。

对于实时过程,chrt给出的输出为,

chrt -p 5
pid 5's current scheduling policy: SCHED_FIFO
pid 5's current scheduling priority: 99
Run Code Online (Sandbox Code Playgroud)

正如我们在进程5 中看到的,优先级是 99,这是最高的。此外,调度策略是SCHED_FIFO

现在,对于非实时过程,chrt给出的输出为,

chrt -p 22383
pid 22383's current scheduling policy: SCHED_OTHER
pid 22383's current scheduling priority: 0
Run Code Online (Sandbox Code Playgroud)

正如我们所见,进程22383的优先级为 0,调度策略为SCHED_OTHER

问题

  1. 我可以将任何过程作为实时过程吗?
  2. 除了SCHED_OTHER非实时进程之外,我是否可以设置其他一些调度算法?
  3. 这里,我还看到我可以修改正在运行的进程的属性,

    chrt -p prio pid …
    Run Code Online (Sandbox Code Playgroud)

process scheduling kernel

28
推荐指数
1
解决办法
4万
查看次数

标签 统计

kernel ×1

process ×1

scheduling ×1