44.4. 为进程设置调度策略和相关属性

sched_setattr() 系统调用为 PID 中指定的实例 ID 设置调度策略及其关联的属性。当 pid=0 时,sched_setattr() 作用于调用线程的进程和属性。

流程

  • 调用 sched_setattr 指定调用调用操作的进程 ID,以及以下实时调度策略之一:

实时调度策略

SCHED_FIFO
调度 first-in 和 first-out 策略。
SCHED_RR
调度循环策略。
SCHED_DEADLINE
调度截止时间调度策略。

Linux 还支持以下非实时调度策略:

非实时调度策略

SCHED_OTHER
调度标准循环时间共享策略。
SCHED_BATCH
调度进程的"批处理"风格的执行。
SCHED_IDLE

调度非常低的优先级后台作业。SCHED_IDLE 只能用于静态优先级 0, 并且 nice 值对此策略没有影响。

此策略旨在以极低的优先级运行作业(比使用 SCHED_OTHERSCHED_BATCH 策略的 +19 nice 值越低)。