【Linux】进程优先级

在这里插入图片描述

👦个人主页:Weraphael
✍🏻作者简介:目前正在学习c++和算法
✈️专栏:Linux
🐋 希望大家多多支持,咱一起进步!😁
如果文章有啥瑕疵,希望大佬指点一二
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注😍


一、什么是优先级

优先级实际上就是获取某种资源的先后顺序,而进程优先级就是进程获取CPU资源分配的先后顺序。

二、优先级存在的原因

诸如CPU、内存等资源都是有限的,一个CPU只能执行一个进程,而进程可以有多个,这注定了进程之间是具有竞争关系的。那么操作系统就必须通过确定进程的优先级来保证各个进程之间的良性竞争。

三、Linux操作系统如何设计优先级

3.1 查看系统优先级关系

Linux中可以使用以下命令查询系统优先级关系:

ps -al

在这里插入图片描述

其中

  • NI:影响进程优先级的变化,说白了就是进程优先级的修正数据,其取值范围[-20, 19]
  • PRI:代表这个进程可被执行的优先级,其值越小越早被执行。计算规则:PRI = 80 + NI,取值范围[60, 99]
  • UID:代表执行者的身份。

在这里插入图片描述

3.2 修改进程优先级

因为PRI = 80 + NI,因此我们只需要修改NI的值即可。

注意:以下操作需要在root用户下执行

  1. 输入top命令

  2. 进入top后按r

  3. 输入进程PID
    在这里插入图片描述

  4. 输入NI

在这里插入图片描述

接下来看看修改后进程优先级的结果

在这里插入图片描述

虽然用户可以手动修改进程优先级,但并不建议这样做。

如果进程的优先级被频繁修改,可能导致资源的争夺。例如,如果一个进程在频繁地提高自己的优先级,那么它可能会抢占其他进程,导致资源分配不均衡,其他低优先级的进程可能会长时间地等待资源,产生饥饿问题。

四、四个重要概念

  1. 竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便有了优先级。

  2. 独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰。

  3. 并行:多个进程在多个CPU下分别同时运行,则称之为并行。

  4. 并发:多个进程在一个CPU下采用进程切换的方式。在一段时间之内,让多个进程代码都以同时推进,则称之为并发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值