1.什么是优先级?
优先级和权限息息相关。权限的含义为能还是不能做这件事。而优先级则表示:你有权限去做,只不过是先去做还是后去做这件事罢了。
2.为什么会存在优先级?
优先级表明了狼多肉少的理念,举个例子:在日常生活中我们进行排队看医生,队列就是优先级,先来先看病;地区发生灾难时,应是老幼病残优先;坐火车动车,军人也是优先......。
而对于操作系统来说,CPU资源分配的先后顺序就是进程的优先级(priority)
优先级高的进程有优先执行的权利。配置进程优先权对多任务环境的Linux系统相当有用,可以改善系统性能:将指定的进程提前运行到CPU上。这样一来,把不重要的进程排到后面中,先运行重要的。
3.查看进程优先级:
指令:ps -al
可以查看当前运行进程的优先权属性
属性栏的几个重要名称:
UID: 代表执行者的身份
PID:代表这个进程的代号
PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号PRI (默认80):代表这个进程可被执行的优先级,其值越小越早被执行
NI (默认0) : 代表这个进程的nice值
PRI和NI:
PRI是进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小那么进程的优先级别越高。
NI就是nice值,其表示进程可被执行的优先级的修正数值。PRI值越小则越快被CPU执行,加入nice值后,会使得PRI变为: 新的PRI = 默认PRI + nice
这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。在Linux下,调整进程优先级就是调整进程nice值。 nice的取值范围是-20至19,一共40个级别:
一般情况下,进程的PRI初始值都默认是80,NI初始默认都是0,若想修改进程的优先级,只改nice就可以,那么PRI的取值范围为:
PRI == > [80-20,80+19] == [60,99] 的范围之间。
PRI越小,优先级越高! ! !
修改NI(nice)值的方法:
例:如下是某个进程的优先级属性
该进程的PRI为80,NI为0,都为初始值。
然后-20 ,所得结果PRI=80-20 =60 ;NI=0-20,如下: