详解Linux进程优先级与环境变量

目录

一、Linux进程优先级

1.什么是进程的优先级?

2.如何查看进程的优先级?

3.PRI and NI

二、Linux环境变量

1.命令行参数


一、Linux进程优先级

1.什么是进程的优先级?

基本概念:

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

通俗来理解

所谓的优先级就是得到某种资源的先后顺序,本质就是资源不足!!!

2.如何查看进程的优先级?

首先我们知道在linux系统中,用ps –l命令则会类似输出以下几个内容:

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

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

那么我们怎么调整优先级呢?

Linux是支持动态优先级调整的

3.PRI and NI

PRI也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高
那NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值
PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice
这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行
所以,调整进程优先级,在Linux下,就是调整进程nice值
nice其取值范围是-20至19,一共40个级别,也就是说普通进程的PRI

首先,我们能够得到以下信息:

Linux创建进程的默认优先级是80!通过修改nice值可以修改其优先级!

但是普通进程的优先级的范围只能为60----99!

接下来通过修改实例证明

我首先创建了一个进程mycode,并让他一直处于运行

可以看到,我此时的pid为28924

接下来通过 top命令更改已存在进程的nice

具体步骤:进入top后按“r”–>输入进程PID–>回车->输入nice值,如下图:

回车

输入pa -al重新查看优先级,此时PRI为90 ,NI为10,此时修改成功

接着我们输入-10

此时报错,显示权限不够,因为我账户现在为普通账户,我需要使用sudo 提升权限!!!

这也侧面说明了权限调低容易,调高难!!!

输入之前的命令后,我们得到下面结果,可以看到PRI不是我们想的那样变为80,而是变成70,这也说明了进程的每次的优先级修改是按照80为基准增加或者减少的

这里我们验证一下修改的范围:

先将nice值修改为100,验证降低范围,再将nice改为-100,验证提升范围,结果如图:

可以看到PRI降低最多到99 , nice值最大为19!!!

可以看到PRI提升最多到60 , nice值最小为-20!!!

至此,验证完毕,接下来总结:

  • 1.操作系统在进行调度的时候,为了能使各个进程之间都能得到较为合理的资源分配,需要为各个进程之间设置优先级,以此来保证均衡调度。
  • 2.如果取消优先级的范围,会让优先级低的进程一直得不到分配,容易引发进程饥饿问题!!!
  • 3. 当然,Linux系统使用了一种 基于时间片轮转的方式 来调度每个进程,当一个进程的时间片耗尽,就会从该运行队列中剥离下来。

额外拓展概念 ,了解即可:

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

二、Linux环境变量

1.命令行参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值