top
在和工具中htop
,具有最高实时优先级(从用户态 API 角度来看为 99)的进程(或/和线程,取决于显示设置)以及调度策略SCHED_RR
或SCHED_FIFO
优先级显示为RT
。
对于所有其他实时进程,优先级显示为数字 p,定义如下:
p = -userprio -1
我想知道为什么top
不htop
显示-100
最高优先级的实时进程?
答案1
我想知道为什么 top 和 htop 不显示最高优先级实时进程的 -100 ?
这是因为SCHED_RR
和SCHED_FIFO
具有 1-99 范围内的固定静态优先级:
rt 上的 RedHat MRG 文档
对于实时优先级,顺序是相反的:99 确实是最高的,与通常的“越低越好”相反。
根据您的评论,我误解了您的问题,抱歉。
顶部只有一列,因此无法将 RT 优先级与其他优先级区分开来。为了解决这个问题,“rt”用于指示这些进程使用实时调度程序类。
您可以使用 来查看差异ps ax --format uname,pid,ppid,tty,cmd,cls,pri,rtprio
,这将为您提供 2 列,一列用于 prio,另一列用于 rtprio。
旁注:上述命令还将显示进程使用的调度程序类(字段cls
)。