进程优先级

举报
绝活蛋炒饭 发表于 2024/12/15 19:14:26 2024/12/15
【摘要】 关于进程中优先级的概念的介绍,以及如何修改进程优先级

1.进程优先级是什么?

在操作系统中会有很多的进程都想使用CPU资源,那CPU又只能一个个来,所以就需要排队,那么这个队伍的顺序就是进程的优先级




2.为什么要有进程优先级 

因为在操作系统下,CPU的资源是有限的所以为了更好的使用CPU资源。



3.怎么办?优先级在Linux下的实现 


显而易见的,优先级这个属性和之前那些PCB的属性一样,在代码的层面上都只是一个变量。 


4.查看进程优先级 

命令:ps -l

我们很容易注意到其中的几个重要信息,有下:

PRI:也就是进程优先级(数字越小,优先级越高) 

NI:也就是nice值。


 5.PRI and NI


PRI的默认的值是80,取值范围是[60,99] .

NI?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值

PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice

这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行

所以,调整进程优先级,在Linux下,就是调整进程nice

nice其取值范围是-2019,一共40个级别(如果对nice值进行超值修改,也最多取到-20或19)。
需要强调一点的是,进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。

可以理解nice值是进程优先级的修正修正数据 。


6.用top命令更改已存在进程的nice

top
进入top后按“r”–>输入进程PID–>输入nice
注意:修改nice是覆盖式写入。


7.Linux为什么要对进程的优先级进行限制 

如果,不对进程的优先级进行限制,那么每个人为了将自己的进程优先运行,就会将自己的PRI设置得非常小,让他的进程优先进行,人数少还好,要是大家都这么干,那么,那些PRI为80,优先级正常设置的进程将一直得不到运行,造成进程饥饿的问题。 

 分时系统都会对资源进行一个较为公平的调度。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。