Linux进程的调度优先级数字会在好几个地方出现:内核,用户,top命令。他们各自都有自己的表示法。我们用一个实际的例子来说明,下面在Linux写一个最简单的程序:
编译它运行,把调度策略设置为SCHED_FIFO,优先级设置为50:$ sudo chrt -f50./a.out这个时候我们在top命令里面观察a.out:
我们看到a.out的PR(优先级是)-51,CPU利用率100%。但是从内核的视角上面来看,又会用99减去用户在chrt里面设置的优先级:
上面的MAX_RT_PRIO的值为: