rtprio和pri值范围

时间:2018-12-10 03:19:27

标签: linux linux-kernel scheduler

我生成一个正常过程并使用cmd进行检查:

ps -p [PID] -o uname, cmd, cls, pri, rtprio

有结果

USER   CMD     CLS  PRI RTPRIO

haivo  ./pro1  TS   17    -

据我所知Linux实时进程的优先级从0-139,优先级从0-99,但是RTPRIO不显示“ rt”,这意味着我的进程只是一个正常进程,另一种方法是pri = 17属于实时优先级范围,而我的过程仅属于正常过程。似乎有冲突。

1 个答案:

答案 0 :(得分:1)

您应该关注 CLS 输出的ps字段。来自man ps

  

CLS类的过程。 (别名政策,分类)。

     

-未报告

     

TS SCHED_OTHER

     

FF SCHED_FIFO

     

...

您讨论的范围来自不同的范围。 SCHED_OTHERSCHED_NORMAL)中的优先级通常与 PR = 20 + NI 公式有关,其中NI为“ nice” (-20至19之间)。但是请记住- 公式并不总是相关的 ,Linux内核可以根据自己的逻辑更改优先级(但是“ nice”将保持不变,这只是一个提示)用于内核)。

因此,您看到的值绝对正确。

另请参阅:Very useful post about Linux nice and prio