自学内容网 自学内容网

【Linux】进程优先级

一、进程优先级的基本概念

1.1 进程优先级是什么

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

1.2 为什么要有进程优先级

       因为系统中资源过少,所以将进程进行管理起来,以便提高效率。

1.3 在Linux中怎么使用优先级

       每一个进程在内存中都有其对应的PCB,优先级属于PCB中的一个属性。Linux中默认的优先级是80,Linux的优先级是可以被修改的,Linux的优先级的范围是【60, 99】,总共40个。Linux的优先级是数字,数字越小,优先级越高。

1.4 优先级和权限的区别

1.4.1 优先级

  • 定义:优先级通常与进程调度有关,决定了系统如何分配CPU时间给各个进程。
  • 作用:优先级较高的进程将获得更多的CPU时间,而优先级较低的进程可能会被延迟执行。
  • 设置:可以通过nicerenice命令调整进程的优先级。值越低,优先级越高。

1.4.2 权限

  • 定义:权限控制对文件、目录和进程的访问和操作。
  • 作用:通过权限设置,用户可以控制谁可以读取、写入或执行文件。权限主要分为三类:所有者、组和其他用户。
  • 设置:使用chmod命令修改文件的权限,chown命令更改文件的所有者。

1.4.3 总结

  • 优先级与进程的执行顺序有关,而权限与对资源的访问控制有关。两者在操作系统中扮演着不同的角色,确保系统的高效运行和安全性。

二、查看系统进程

2.1 使用 ps -al 命令

在Linux或者Unix系统中,使用ps -la命令则会类似输出一下几个内容:

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

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

2.2 PRI 和 NI

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

2.3 PRI vs NI

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

三、查看进程优先级的命令

3.1 top 命令

       使用top命令更改已经存在的进程的nice值,先输入 top 命令,然后进入top后按“r”,输入进程对应的pid,输入想要修改的nice值

3.2 为什么在Linux中修改进程的优先级要受到限制??

       如果不加限制,将自己进程的优先级调整的非常高,别人的优先级调整的非常低,那么会造成卷起来,优先级较高的进程,会优先得到资源,后续还会有源源不断的进程产生,常规进程很难想享受到CPU资源,就会出现进程饥饿问题

       因此任何的分时操作系统重,在进程的调度上都会进行较公平的进行调度。


原文地址:https://blog.csdn.net/2301_77868664/article/details/142412034

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!