目录
- 一、为什么要有优先级
- 二、进程优先级
- 1.进程优先级的基本概念
- 2.进程优先级的表现形式
- 3. 默认优先级
- 4.进程优先级的修改
- 5.为什么调整优先级是要受限制的?
一、为什么要有优先级
在学习进程优先级之前,我们要先知道为什么会出现进程优先级这个东西
从根本上来说,出现进程优先级的根本原因是资源不足,我们的进程之间需要抢夺资源,因此出现了优先级,我们的进程如果要访问某种资源,进程就要通过优先级以一定的方式进行排队,也就是享受资源的先后顺序
也体现出了进程的竞争性
二、进程优先级
1.进程优先级的基本概念
CPU对进程资源分配的先后顺序,就是进程的优先级
优先权高的进程有优先执行权利。
把不重要的进程安排到某个CPU,可以大大改善系统整
体性能
2.进程优先级的表现形式
在linux系统中,使用ps –l命令会出现下述内容
其中有两个信息跟优先级关系密切
- PRI
代表这个进程可被执行的优先级,通俗点说就是程序被CPU执行的先后顺序,其值越小越早被执行
- NI
代表这个进程的nice值,其表示进程可被执行的优先级的修正数值
在优先级的修改中会介绍两者的用处
3. 默认优先级
-
在Linux中进程的默认优先级是80
-
PRI数字越小,优先级越高,小越快被执行
4.进程优先级的修改
- LInux系统中允许用户调整修改优先级,但是不能直接让你修改优先级pri,而是修改nice值
- pri = pri(原来的) + nice
- nice值是进程优先级的修正数据,通过修改nice值来间接修改进程的优先级
- nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行
- 每次调整优先级时,初始pri都是默认的pri(80)
- Linux优先级修改的范围是【60,99】40个数字,nice取值范围是-20至19,一共40个级别。
- 需要强调一点的是,进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化
struct task_struct
{
//优先级
int prt;
//
int nice
}
我们可以使用top命令更改进程的nice
步骤为:
1.top
2.进入top后按“r”–>输入进程PID–>输入nice值
5.为什么调整优先级是要受限制的?
如果不加限制,将自己进程的优先级调整的非常高,别人的优先级调整的非常低
优先级较高的进程会优先得到资源,后序还会有源源不断的进程产生,常规进程难以享受到资源