Linux(入门基础):92---进程的优先级(nice、renice)

一、Priority(PRI)

  • 概念:代表进程的优先级,值越小代表该进程优先被CPU调用。简称PRI
  • 特点:由于这个PRI值是由内核动态调整的,用户无法直接调整PRI的值

二、Nice(NI)

1.概念与功能

  • 由于PRI是用户无法调整的,但是NI可以被用户调整,并且PRI的值会被NI的值所影响
  • 一个进程的NI值也会被子进程所继承

2.公式

  • PRI(new)=PRI(系统默认值)+NI
  • PRI(new)是如何改变的:PRI(系统默认值)有一个系统的默认值,这个默认值是不变的,每次+NI,就是在这个PRI(默认值)上面所改变
  • 结合公式可以知道:如果想要改进程越早被CPU调度执行,就要减小NI的值,并且NI的值可正可负,想要减小PRI的值就可以将NI变为负值
  • 注意:虽然NI可以影响PRI的大小,但PRI的值不是静态的而是动态的。例如:PRI(old)=50,NI=5,那么PRI(new)就不一定等于55,因为PRI最重要经过系统分析才会最后决定PRI的大小

3.NI的值改动的约束

  • NI可以调整的范围是-20~19
  • root:可以随意调整自己和他人进程的NI值,范围为-20~19
  • 一般用户:仅可以调整自己的NI值,并且范围是0~19(避免一般用户抢占系统资源)

4.改变NI值的方式

  • top命令修改
  • nice命令:在创建进程时就给予特定的nice值
  • renice命令:调整某个已经存在的进程的nice值

三、nice命令

1.功能

  • 创建一个进程,并可以同时赋予其NI的值

2.命令格式

  • nice  [选项]  命令

相关参数与命令

  • -n:后面接数字,代表该进程的NI值

3.演示案例

  • 案例一:创建一个进程设置,NI为-5
  • 第一步:创建一个进程,丢到后台去,nice值为-5

  • 第二步:查看当前界面的进程(可以看到PRI为75,NI为-5)

  • 第三步:测试完,将刚才的vim进程关闭

四、renice命令

1.功能

  • 改变一个已经存在的进程的NI值

2.命令格式

  • renice   NI值   PID

3.演示案例

  • 案例:查找自己bash的PID号,将PID的NI调整到-5

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/88372615