进程设置优先级啥作用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程设置优先级啥作用?相关的知识,希望对你有一定的参考价值。
众多进程中,我给其中一个提高优先级,是不是优先处理它?有什么作用,有什么害处?
优先级作用:优先级决定进程何时运行和接收多少 CPU 时间。
进程优先级越高,越先处理该进程;优先级本身没什么害处。
系统中运行的每个进程都有一个优先级(亦称"nice值"),其范围从-20(最高优先级)19(最低优先级)。
默认情况下,进程的优先级是0("基本”调度优先级)。优先级比较大的进程(nice值比较小,最低到-20)相对优先级比较小的进程(直到19)将比较频繁地被调度运行,因此就拥有更多的进程周期。
一般用户只能降低他们自己进程的优先级别,并限于0到19之间。超级用户(root)可以将任何进程的优先级设定为任何值。
扩展资料:
设置优先级的命令:
改变进程的优先级的方法有两种:
1、top命令。输入r,然后根据提示输入进程ID,再输入优先级数值。
2、renice命令。renice 优先级 [[-p] pid...] [[-g]pgrp...] [[-u]用户名...]
其中,优先级是指优先级的值;
pid(对多个进程使用-p选项)表示进程ID号;
pgrp(如果有多个用-g)表示进程组ID号;
而用户(如果不只一个,用-u)表示进程所有者的用户名。
参考技术A 每个进程都有相应的优先级,优先级决定它何时运行和接收多少 CPU 时间。最终的优先级共 32 级,是从 0 到 31 的数值,称为基本优先级别(Base Priority Level)。系统按照不同的优先级调度进程的运行,0-15 级是普通优先级,进程的优先级可以动态变化,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行,优先级相同的进程按照时间片轮流运行。16-31 级是实时优先级,实时优先级与普通优先级的最大区别在于相同优先级进程的运行不按照时间片轮转,而是先运行的进程就先控制 CPU,如果它不主动放弃控制,同级或低优先级的进程就无法运行。 参考技术B 是先处理没有害处Linux的进程优先级NI和PR有啥区别
nice(NI)和priority(PR),并不是同一个概念。NICE值应该是熟悉Linux/UNIX的人很了解的概念了,它是反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。nice值虽然不是priority,但是它确实可以影响进程的优先级。一般会把nice值叫做静态优先级,这也基本符合nice值的特点,就是当nice值设定好了之后,除非我们用renice去改它,否则它是不变的。
实用priority值表示PRI和PR值,或者叫动态优先级。priority的值在之前内核的O1调度器上表现是会变化的,所以也叫做动态优先级。在内核中,进程优先级的取值范围是通过一个宏定义的,这个宏的名称是MAX_PRIO,它的值为140。
而这个值又是由另外两个值相加组成的,一个是代表nice值取值范围的NICE_WIDTH宏,另一个是代表实时进程(realtime)优先级范围的MAX_RT_PRIO宏。
说白了就是,Linux实际上实现了140个优先级范围,取值范围是从0-139,这个值越小,优先级越高。nice值的-20到19,映射到实际的优先级范围是100-139。 参考技术A 用top
-u
命令查看进程以及pid。命令如下:
$
top
-u
pid
—
进程id
user
—
进程所有者
pr
—
进程优先级
ni
—
nice值。负值表示高优先级,正值表示低优先级
virt
—
进程使用的虚拟内存总量,单位kb。本回答被提问者采纳
以上是关于进程设置优先级啥作用?的主要内容,如果未能解决你的问题,请参考以下文章