【问题标题】:changing real time process priority in Linux ..?更改 Linux 中的实时进程优先级 ..?
【发布时间】:2026-02-06 19:35:01
【问题描述】:

我的查询是关于设计流程的优先级值。在我的系统中,进程 A 在 RR 中以优先级 83 运行。现在我在 RR 中有另一个进程 B,我希望 B 的优先级高于 A(即,我希望 B 始终与 A 相比被调度)。

为此,我应该为 B 选择什么值。我在代码中读到,根据进程的历史,有 5 的惩罚/奖励。

另外,如果我选择值 84 或 85,在某些情况下是否有可能忽略我的进程。

请帮助设计这个值。

【问题讨论】:

  • 流程是否相似?它们的 i/o 类型和数量、内存使用等是否大致相同?
  • I/O 数量,内存使用几乎相同。唯一不同的是他们完成的任务。进程 B 用于监视其他进程是否处于活动状态。进程 A 只进行正常活动。所以这就是为什么我希望进程 B 比 A 优先安排。

标签: process linux-kernel scheduling


【解决方案1】:

现在我明白了。实时任务(FF/RR)不受惩罚/奖励规则的约束。使用 O(1) 调度程序,将选择具有更高优先级的任务。在我的情况下,如果进程 B 的优先级大于进程 A,则进程 B 将被调度。

处罚/奖金适用于 SCHED_OTHER/SCHED_NORMAL。

【讨论】:

  • 请添加内核版本和调度器的详细信息,因为不同的调度器会有不同的逻辑。