文章目录
- 基本概念
- 为什么会有优先级?
- 如何查看进程优先级?
- PRI and NI
- 如何更改进程优先级?
- 优先级vs权限
- 并行与并发的概念
基本概念
- CPU资源分配的先后顺序,就是指进程的优先权(priority)。
- 优先权高的进程有优先执行的权利,配置进程的优先级对多任务环境的linux很有用,可以改善系统的运行性能。
- 进程优先级还可以把进程运行到指定的CPU上,这样一来,就可以把不重要的进程安排到某个CPU,可以大大改善系统的整体性能。
为什么会有优先级?
为什么会有进程优先级呢? 答案是:因为竞争性。 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级。
如何查看进程优先级?
在linux或者unix系统中,用ps –l命令则会类似输出以下几个内容:
ps -l
我们很容易注意到其中的几个重要信息,如下:
- PRI(priority):代表当前进程的优先级,其值越小越早被执行
- NI(nice值):代表优先级的修正数据
- UID:用户的身份标识
- PID :代表这个进程的代号
- PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号
PRI and NI
- PRI前面讲过了,即进程的优先级,通俗点就是程序被CPU执行的先后顺序,PRI的值越小,进程的优先级越高,在Linux下,一个进程默认的PRI的值为80。
- NI,即nice值,表示进程可被执行的优先级的修正数值,nice值的取值范围是-20~19,一共40个级别。
- PRI值越小越快被执行,加入nice值后,PRI(new)=PRI(old)+ NI。
- 所以nice值为负数时,NI越小,进程的PRI将会越小,即其优先级就会变高,越快被执行。
- 总结:想要更改进程优先级,在Linux下就是调整进程的nice值。
如何更改进程优先级?
方法:用top命令更改已存在进程的nice值。
- 在命令行输入top命令。
- 进入top后,按"r"——>然后输入你要更改的进程的PID——>输入你要修改的nice值。
优先级vs权限
优先级和权限有什么区别呢? 答案是:权限是能或不能的问题;优先级是你已经能做这件事了,但是有先执行和后执行的限制。
并行与并发的概念
- 独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰。
- 并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行。
- 并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发