【Linux】进程的优先级

我们都知道进程等待需要cpu处理的,那就需要一个数据结构来记录要被cpu处理的进程,那这些进程是按一个什么样的方式在这个结构中进行等待呢?下面就要谈到进程的优先级了:


目录

一、进程的优先级的概念

二、查看进程的优先级

2.1 PRI和NI

三、用top命令更改已存在进程的nice值

四、其他调整进程nice值的方法


一、进程的优先级的概念

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

二、查看进程的优先级

我们可以使用ps -al指令来查看我们所在进行的进程的优先级情况

我们可以看到有几个重要的列:

UID : 代表执行者的身份

PID : 代表这个进程的代号

PPID :父进程的代号

PRI :代表这个进程可被执行的优先级,其值越小越早被执行

NI :代表这个进程的nice值

2.1 PRI和NI

PRI即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小,进程的优先级别越高

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

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

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

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

nice其取值范围是-20至19,一共40个级别。

三、用top命令更改已存在进程的nice值

我们要想修改nice的值,首先我们要使用top指令:

然后再按r:

输入想要修改进程优先级的pid:

回车确认后输入想要修改的nice值:

修改后我们退出来看一下:

可以看到该进程的PRI变成了60,NI变成了-20,符合PRI(new)=PRI(默认)+nice,在这里该进程PRI默认值为80

四、其他调整进程nice值的方法

除了top指令,我们还有nice和renice指令一样可以调整进程nice值:

nice -n NI  进程名

renice -n NI  –u  username

renice  -n NI  –g  gid

renice  -n NI  –p  pid

 另外还有C语言函数接口可供我们设置进程的优先级:

int getpriority(int which, int who)

int setpriority(int which, int who, int prio)


本期博客到这里就结束了,感谢大家的阅读~ 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 之 Symbol 数据类型

一、简介 ​ symbol类型是ES6新引入的一种基本数据类型,该类型具有静态属性和静态方法。其中静态属性暴露了几个内建的成员对象,静态方法暴露了全局的symbol注册。 ​ symbol类型具有以下特点:① 唯一性:每个symbol值都是唯一的…

如何实现小程序与h5页面间的跳转

接到新需求,要在小程序页面内点击按钮实现跳转h5,一开始没接触过,还挺头疼的,但真正做起来,也就那么一回事啦,废话少说,直接上 1. 配置域名 先登录小程序开发平台,将页面需要跳转的…

Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引

索引的概念 在MySQL中,索引是一种数据结构,它被用于快速查找、读取或插入数据。索引能够极大地提高数据库查询的速度。 索引的工作方式类似于图书的索引。如果你想在图书馆找到一本书,你可以按照书名进行查找。书名就像是一个索引&#xf…

高通DSP架构和HVX指令介绍

1. Qualcomm Snapdragon™处理器 Qualcomm Snapdragon™是高通的移动平台处理器,是一种系统级芯片(SoC),包含了CPU、GPU、DSP、调制解调器、无线电、摄像头处理器、安全处理器等多种功能。Snapdragon处理器广泛应用于智能手机、平板电脑、智能手表、智能音箱等移动设备中。…

Elasticsearch安装,Springboot整合Elasticsearch详细教程

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够实现近乎实时的搜索。 Elasticsearch官网https://www.elastic.co/cn/ 这篇文章主要简单介绍一下Elasticsearch,Elasticsearch的java API博主也在学习中,文章会持续更新~ …

网络编程相关知识

写一个应用程序,让这个程序可以使用网络通信,这里就需要调用传输层提供的api,传输层提供协议,主要是两个: UDP,TCP,它们分别提供了一套不同的api,socket api. UDP和TCP UDP:无连接,不可靠传输,面向数据报,全双工 TCP:有连接,可靠传输,面向字节流,全双工 一个客户端可以连接多…

云原生架构如何助力大数据和AI技术在软件开发中的深度整合

文章目录 1. 云原生架构简介2. 大数据与云原生的融合a. 弹性计算和存储b. 容器化大数据应用c. 数据湖和数据仓库 3. AI与云原生的深度融合a. 弹性AI模型训练b. 容器化AI应用c. 自动化部署和监控 4. 对软件开发的影响a. 更快的开发周期b. 更低的成本c. 更高的灵活性和可伸缩性 5…

RGMII 与 GMII 转换电路设计

文章目录 前言一、RGMII 接口的信号说明二、RGMII 发送的 FPGA 实现方案1. OPPOSITE_EDGE 模式2. SAME_EDGE 模式三、使用 FPGA 实现 RGMII 接口前言 RGMII 是 IEEE802.3z 标准中定义的千兆媒体独立接口(Gigabit Medium Independent Interface)GMII 的一个替代品。相较于 GM…

elementPlus + table 树形懒加载 新增,删除,修改 局部刷新

#直接上代码# 1.表格数据 2.数据源 <m-table ref"cTable" v-if"Object.keys(props.tableData).length" :options"props.tableOptions" :data"props.tableData.data" :isLoading"props.tableData.loading" elementLo…

报错:axios 发送的接口请求 404

axios 发送的接口请求 404 一、问题二、分析 一、问题 二、分析 axios 发送的接口请求 404&#xff0c;根本没有把接口信息发送到后端&#xff0c;这个时候你可以查看检查一下自己的接口名字&#xff0c;或让后端配合换一个接口名字再发送一次接口请求 或者重启一下电脑 我是…

NATAPP使用详细教程(免费隧道内网映射)

NATAPP - https://natapp.cn/tunnel/lists NATAPP 在开发时可能会有将自己开发的机器上的应用提供到公网上进行访问&#xff0c;但是并不想通过注册域名、搭建服务器&#xff1b;由此可以使用natapp&#xff08;内网穿透&#xff09; 购买免费隧道 修改隧道配置 看自己的web…

2023百度云智大会:科技与创新的交汇点

​ 这次的百度云智大会&#xff0c;可谓是亮点云集—— 发布了包含42个大模型、41个数据集、10个精选应用范式的全新升级千帆大模型平台2.0&#xff0c;发布首个大模型生态伙伴计划&#xff0c;而且也预告了文心大模型4.0的发布&#xff0c;大模型服务的成绩单也非常秀&#x…