Linux进程优先级rt,如何解决Linux进程调度优先级数字混乱的问题?详细实例分析...

本文通过实例分析Linux实时(RT)进程调度优先级在用户、内核和top命令中不同的表示方式。RT进程在内核中优先级越高,数值越小;而用户API则相反,数值越大,优先级越高。top命令中,RT进程优先级显示为负数,且数值越小,优先级越高。此外,普通进程的优先级与其nice值相关,top中PR值等于20+nice值。

Linux进程的调度优先级数字会在好几个地方出现:内核,用户,top命令。他们各自都有自己的表示法。我们用一个实际的例子来说明,下面在Linux写一个最简单的程序:

3895b57ddbfffe807c62f1c5a80421a6.png

编译它运行,把调度策略设置为SCHED_FIFO,优先级设置为50:$ sudo chrt -f50./a.out这个时候我们在top命令里面观察a.out:

7c0c938dfe200fb51720598a12dfaeb3.png

我们看到a.out的PR(优先级是)-51,CPU利用率100%。但是从内核的视角上面来看,又会用99减去用户在chrt里面设置的优先级:

11f4e4f77040bc9c64480a3858472245.png

上面的MAX_RT_PRIO的值为:

a2ab4afe99302df72bda71c42f531253.png

所以上述进程的优先级,在三个不同视角的值分别为:

用户

内核

Top

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值