IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 3:03:21       共计:4631 浏览

都来源于内核中task优先级的取值,计算方式不同。

内核内部变量(p->prio)的取值,在<linux/sched.h>定义

1)MAX_RT_PRIO为100

2)RT tasks为0到99

3)非RT task取值100到139

TOP命令显示非RT线程时,PR字段的取值是把task的prio减去100,所以看到的值是0~39

PS命令显示的优先级,根据显示选项、进程的调度策略与状态,采用以下几种计算方法之一:

- "priority":过去是-20..20, 当前是-100..39

- "intpri"和 "opri",过去是39..29,当前是 -40..99

- "pri_foo" -- match up w/ nice values of sleeping processes, (-120..19)

- "pri_bar" -- makes RT pri show as negative (-99..40)

- "pri_baz" -- the kernel's ->prio value, as of Linux 2.6.8 (1..140)

以上是传统的UNIX取值

- "pri" -- 过去是20..60,当前是 (0..139)

- "pri_api" -- match up w/ RT API (-40..99)

以上是非传统的UNIX取值

=============

详细的实现,可参见软件包procps-ng的源码。

就是用户输入命令还有显示信息的设备。

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图