一、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