linux哪个优先级最高的是,哪个实时优先级是Linux中最高优先级

简短回答

99将成为实时优先级的赢家。

PR是优先级(范围从100到40)。 PR越低,该过程的优先级越高。

PR的计算如下:

对于正常过程:PR = 20-NI(NI很好,范围从-20到

19)

用于实时过程:PR =-1-real_time_priority

(real_time_priority的范围是1到99)

长期回答

有2种类型的过程:正常过程和实时

对于普通的(并且仅适用于那些),nice的用法如下:

“ niceness”标度从-20到19,而-20是最高优先级,19是最低优先级。优先级的计算方式如下:

PR = 20 + NI

其中NI为最佳级别,PR为优先级别。因此,正如我们所看到的,-20实际上映射为0,而19映射为39。

默认情况下,程序的nice值是0位,root用户可以使用以下命令来午餐带有指定nice值的程序:

nice -n ./myProgram

实时

我们可以走得更远。好优先级实际上用于用户程序。 UNIX / LINUX总体优先级的范围为140个值,而nice值使进程可以映射到范围的最后一部分(从100到139)。该公式使从0到99的值不可达,这将对应于负PR级别(从-100到-1)。为了能够访问这些值,该过程应称为“实时”。

在LINUX环境中,有5种调度策略可以用以下命令显示:

chrt -m

其中将显示以下列表:

1. SCHED_OTHER the standard round-robin time-sharing policy

2. SCHED_BATCH for "batch" style execution of processes

3. SCHED_IDLE for running very low priority background jobs.

4. SCHED_FIFO a first-in, first-out policy

5. SCHED_RR a round-robin policy

调度过程可以分为2组,正常调度策略(1至3)和实时调度策略(4和5)。

实时过程将始终具有比常规过程更高的优先级。可以使用以下命令来调用实时过程(示例是如何声明SCHED_RR策略):

chrt --rr ./myProgram

要获取实时过程的PR值,请应用以下公式:

PR = -1-rt_prior

其中rt_prior对应于1到99之间的优先级。因此,比其他进程具有更高优先级的进程将是编号为99的进程。

重要的是要注意,对于实时过程,不会使用nice值。

要查看进程的当前“良好”和PR值,可以执行以下命令:

top

其中显示以下输出:

L5Q72.png

在图中显示PR和NI值。最好注意PR值-51与实时值相对应的过程。也有一些过程的PR值表示为“ rt”。该值实际上对应于PR值-100。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值