[Linux入门]---进程优先级

news2024/10/7 2:22:06

文章目录

  • 1.进程优先级
    • 基本概念
  • 2.查看系统进程
    • PRI and NI
  • 3.查看进程优先级的命令
    • 引入其他概念

1.进程优先级

基本概念

  • cpu资源分配的先后顺序,就是指进程的优先权(priority)。
  • 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。

问题1:权限与优先级的区别
权限决定的是某进程能不能访问资源,优先级是在拥有访问某资源权限的情况下,决定访问该资源的先后顺序。
问题2:操作系统为什么要给进程优先级呢?
竞争性:资源是有限的,而进程有很多个,注定了进程之间是竞争关系;如果我们进程长时间得不到CPU资源,进程的代码将无法推进,在用户层面,表现为该进程应用无法响应;所以操作系统必须保证进程良性竞争,确认进程的优先级。

2.查看系统进程

创建testprority.c文件,写下如下代码:

#include<stdio.h>    
#include<unistd.h>    
int main()    
{    
    while(1)    
    {    
        printf("hello priority\n");    
        sleep(1);    
    }    
    return 0;                                                                    
} 

在另一个窗口输入如下指令:

ps -al|head -1 && ps -al |grep myproc

代码编译运行且监测的结果为:
在这里插入图片描述
在Linux或者unix系统中,用ps - l命令则会类似输出以下几个内容:
在这里插入图片描述

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

UID : 代表执行者的身份
PID : 代表这个进程的代号
PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号
PRI :代表这个进程可被执行的优先级,其值越小越早被执行
NI :代表这个进程的nice值

PRI and NI

  • PRI也还是比较好理解的(英文单词priority的缩写),即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高
  • NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值
  • PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nicePRI(old)的默认初始值为80
  • nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行;所以,调整进程优先级,在Linux下,就是调整进程nice值
  • 优先级可以被调整,那么我们可以大大地更改nice值,提高进程的优先级,使我们的进程几乎一直被调度?Linux不想让用户过多修改优先级,nice其取值范围是-20至19,一共40个级别,进程的PRI初始值为80,所以PRI的调整范围为:[60,99]

3.查看进程优先级的命令

用top命令更改已存在进程的nice:
①首先输入top指令,②进入top后按“r”–>输入进程PID–>输入nice值,注意: 使用root账号才能使用top指令通过nice值修改优先级
使用top指令修改优先级前:
在这里插入图片描述
使用top指令修改优先级后:
在这里插入图片描述

在这里插入图片描述

引入其他概念

  • 竞争性:系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级
  • 独立性:多进程运行,需要独享各种资源,多进程运行期间互不干扰
  • 并行:多个进程在多个CPU下分别,同时进行运行,这称之为并行
  • 并发:多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

golang工程——常用数据结构底层原理【mao、slice、func、string】

字符串 其实就是字符数组 注意 字节数组与字符串可以相互转换 a : "hello world" b : []byte(a) c : string(b)字节数组转换为字符串在运行时调用了slicebytetostring函数。需要注意的是&#xff0c;字节数组与字符串的相互转换并不是简单的指针引用&#xff0c;…

下划线在键盘上怎么打?这3个方法快收藏!

“我最近的工作中好像很多文件里都有下划线&#xff0c;但是我不知道在键盘上应该怎么把下划线打出来&#xff0c;有没有知道的朋友呀&#xff1f;” 在计算机文档和编程中&#xff0c;下划线是一个常见的特殊字符。很多用户在使用电脑时可能也经常需要用到下划线。但是下划线在…

除静电离子风机在无尘车间的应用

除静电离子风机在无尘车间中的应用非常广泛&#xff0c;主要是用来控制车间内的静电荷&#xff0c;防止静电对车间内的电子元器件、电路板等敏感部件产生损害。 具体来说&#xff0c;除静电离子风机通常采用电离器产生大量负离子&#xff0c;将车间内的静电荷中和成无害的水蒸气…

基于微信小程序的高校学生事务考试通知管理系统(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

基于Java SpringBoot 的书籍学习平台,附源码,数据库

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 功能总览4平台设计4.1 平台功能模块设计4.2数据库设计4.2.1概念模型设计4.2.2物理…

100GBASE-DR光模块:高速数据中心互连的全新选择

100GBASE-DR光模块相较于传统的100G QSFP28光模块采用的是PAM4调制&#xff0c;单波长传输数据率更高&#xff0c;具有低功耗、高密度、高可靠性等优点&#xff0c;更适用于高速数据中心互连方案部署。本文将从100G QSFP28 DR光模块的概念界定、日常运行流程及其场景方案等角度…

ubuntu中的系统消息中显卡显示llvmpipe (LLVM 10.0.0, 256 bits)

这是我在使用ubuntu系统时出现的问题&#xff0c;网上搜到很多解决的办法&#xff0c;我是一顿操作&#xff0c;后来看到这位老哥的帖子解决了。 集Linux / Ubuntuwin10双系统安装记录(2):AMD核显驱动引发的问题 - 知乎上一篇中我们提到了 astroR2&#xff1a;Linux / Ubuntuw…

MySQL - group by分组查询 (查询操作 三)

功能介绍 group by: 对数据进行分组和聚合操作(可以操作单字段和多字段) having&#xff1a;过滤group by的结果&#xff0c;也就是在分组后添加筛选条件 基础语法 select 字段列表 from 表名 [ where 条件 ] group by 分组字段名 [ having ]; where 和 having的区…

【Visual Studio】解决编写C#代码时编辑器自动添加using问题

当我们编写引用其他作用域代码时&#xff0c;Visual Studio可能会非常“智能”地帮我们在代码顶部自动添加对应的using指令。 显然这项举动有利有弊&#xff0c;有利在于可以提高代码编写效率&#xff0c;有弊在于如果不慎编写错误的代码那么错误的using指令会自动添加。 尤其在…

核电厂设备故障预测与健康管理-基于PreMaint电气信号分析技术

核电厂作为重要的能源供应基地&#xff0c;设备的可靠性和安全性至关重要。传统的设备维护方式存在一定的盲目性和浪费&#xff0c;为了提高设备维护效率、减少成本&#xff0c;并确保核电厂的安全和稳定运行&#xff0c;引入了PreMaint设备健康管理平台的电气信号分析技术。本…

​比特币ETF将迎来审核窗口期

作者&#xff1a;Greg Cipolaro&#xff0c;NYDIG 全球研究主管 编译&#xff1a;WEEX Exchange 几只重要的 ETF 申请将于 10 月中旬迎来审核窗口&#xff0c;本文通过观察近期期权市场的动态&#xff0c;以研究交易者对这些关键 ETF 日期的仓位态度&#xff1b;门头沟&#xf…

当网络设置为自动获取dns时而实际nds是8.8.8.8,1.1.1.1的解决方法

笔记本换网络环境后&#xff0c;网络设置的是自动获取IP和自动获取dns。但使用命令&#xff1a;config/all命令时发现dns总是8.8.8.8,1.1.1.1。导致csdn上不了。 8.8.8.8,1.1.1.1&#xff1a;是谷歌的dns。 解决办法&#xff1a; 在支行中输入regedit打开注册表后&#xff0…

火狐连接错误代码SEC_ERROR_UNKNOWN_ISSUER

最近开发的实验启动功能&#xff0c;测试人员用火狐浏览进行测试&#xff0c;一直报错 错误代码SEC_ERROR_UNKNOWN_ISSUER 在网上搜索很多文章&#xff0c;都没有解决我的问题&#xff0c;最后自己花时间研究了下&#xff0c;灵感来源于项目中&#xff0c;就类似于白名单的功能…

DragGesture/拖动手势 的使用

1. DragGesture 拖动手势操作 1.1 实现 /// 拖动手势 struct DragGestureBootcamp: View {State var offset: CGSize .zerovar body: some View {//dragGesture1dragGesture2}/// 方式二var dragGesture2: some View{ZStack {VStack {Text("\(offset.width)")Space…

深入理解React中fiber

一、前言 Fiber是对React核心算法的重写&#xff0c;Fiber是React内部定义的一种数据结构&#xff0c;将更新渲染耗时长的大任务&#xff0c;分为许多的小片。Fiber节点保存啦组件需要更新的状态和副作用&#xff0c;一个Fiber代表一个工作单元。 二、Fiber在React做了什么 …

使用 frp 进行内网穿透

使用 frp 进行内网穿透 1.frp 概念2.服务端搭建3.客户端搭建1.frp 概念 frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。 内网服务由于没有公网 IP,不能被非局域网内的其他用户访问…

https域名下 请求http图片链接 被自动变成https请求

现象 在以 https 协议页面&#xff0c;以 <img src"http://baidu.com/img/image.png"> 方式请求资源时&#xff0c;http 协议的资源地址被转为 https 的。 溯源检查过程 这个问题真的是第一次遇到&#xff0c;本地开发时没发现问题&#xff0c;等到上到测试环…

我为什么选择这样一份经常出差的工作

这几个月进入出差模式&#xff0c;在酒店与工厂两点一线之间往返。周五&#xff0c;在返回酒店途中&#xff0c;一名同事问我&#xff1a;“你工作了那么多年&#xff0c;为什么选择这样一份出差的工作&#xff1f;”&#xff0c;言外之意就是出差不方便&#xff0c;与家人、朋…

MR混合现实在军事课堂教学中的应用演示

战场模拟&#xff1a;利用MR技术可以创建逼真的战场模拟环境&#xff0c;将学生置身于真实的战场场景中&#xff0c;可以体验和学习各种作战技巧和战术策略。学生可以通过佩戴MR头盔或眼镜&#xff0c;观察虚拟的场景&#xff0c;并与虚拟对象进行互动&#xff0c;如操作武器、…

俄罗斯四大平台速卖通、Joom、Ozon 和 UMKA中国卖家如何脱颖而出!

随着全球化的不断推进&#xff0c;越来越多的中国卖家将目光投向了俄罗斯这个广阔的市场。在众多的跨境电商平台中&#xff0c;速卖通、Joom、Ozon 和 UMKA 无疑是最受关注的四个平台。本文将从卖家的角度&#xff0c;详细分析这四大平台的特点和优势&#xff0c;帮助找到最…