【Linux】进程优先级

目录

  • 进程优先级
    • 什么叫做优先级?
    • Linux优先级
    • 更改优先级

进程优先级

什么叫做优先级?

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

优先级与权限的区别:

  • 权限是能与不能
  • 优先级是能的前提下,先做还是后做

 优先级的本质就是PCB里面的一个整数数字(也可能是几个)

Linux优先级

 在linux或者unix系统中,用ps –al命令则会类似输出以下几个内容:
在这里插入图片描述

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

 Linux的最终优先级 = PRI的值(旧) + NI的值(PRI(new)=PRI(old)+nice)

 进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进
程的优先级变化。可以理解nice值是进程优先级的修正数据值

更改优先级

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

top
进入top后按“r”–>输入进程PID–>输入nice值

【Linux】进程优先级_第1张图片
 输入 " r " ,然后输入进程PID,这里默认是1号进程
【Linux】进程优先级_第2张图片
 我们输入我们需要改变的进程的pid
【Linux】进程优先级_第3张图片
 因为权限的问题,我们更改NI的值可能会失效,所以我们:

	sudo top

 我们将NI的值输入 -100,但是发现它的值只被设置到 -20
【Linux】进程优先级_第4张图片
 我们将NI的值输入 +100,但是发现它的值只被设置到 19
【Linux】进程优先级_第5张图片

PRI值越小越快被执行,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行所以,调整进程优先级,在Linux下,就是调整进程nice值。由上面我们可以得到:nice其取值范围是-20至19,一共40个级别,且我们在更改优先级的时候,老的优先级PRI都是从80开始调整,这样就能很好的限制范围。如果不限制范围,那么我们能够无休止的调整,对操作系统的调度工作会造成很大的困扰。

  Linux 中的进程优先级是衡量进程重要性的指标。优先级越高,进程的 CPU 时间就越长。进程优先级用于确保重要进程(如操作系统本身)获得正常运行所需的 CPU 时间。
  流程优先级按 -20 到 19 的等级分配,其中 -20 是最高优先级,19 是最低优先级。默认情况下,为进程分配优先级 0。用户可以使用该命令更改进程的优先级。该命令将数字作为其参数,数字越小表示优先级越高。

以下是有关 Linux 中进程优先级的一些其他注意事项:

  • 和命令只能由具有适当权限的用户使用。nicerenice
  • 进程优先级由子进程继承。
  • 流程优先级可以随时更改,即使在流程运行时也是如此。
  • 不能保证进程优先级有任何效果,因为内核可能会选择忽略它们。

如有错误或者不清楚的地方欢迎私信或者评论指出

你可能感兴趣的:(Linux基础,linux,面试,进程)