【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下采用进程切换的方式。在一段时间之内,让多个进程代码都以同时推进,则称之为并发。

相关推荐

  1. Linux——进程优先级、ACL

    2024-04-24 16:18:05       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 16:18:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 16:18:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 16:18:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 16:18:05       20 阅读

热门阅读

  1. vue各种时间类型转换

    2024-04-24 16:18:05       10 阅读
  2. 达梦(DM)数据库管理表

    2024-04-24 16:18:05       11 阅读
  3. K8s: 控制器之ReplicaSet对象

    2024-04-24 16:18:05       11 阅读
  4. VMware虚拟机经常卡死风扇狂转的解决办法

    2024-04-24 16:18:05       13 阅读
  5. ffmpeg常使用的命令

    2024-04-24 16:18:05       15 阅读
  6. 数字人成了大佬标配?再不上车就晚了

    2024-04-24 16:18:05       12 阅读
  7. 【动态规划】Leetcode 70. 爬楼梯【简单】

    2024-04-24 16:18:05       11 阅读
  8. Qt5中的常用模块

    2024-04-24 16:18:05       13 阅读