Linu 更改进程的优先级
Linux 更改进程的优先级在 Linux 系统中,各个进程都是具有特定的优先级的,系统在为某个进程分配 CPU 使用时间时是根据进程的优先级进行判定的。有些进程比较重要,需要先执行, 以提高整个程序的执行效率,而有些不太重要的进程,其优先级可以低一些。通常情况下,大多数用户进程的优先级是相同的,但是可以使用系统提供的某些命令改变进程的优先级。通过执行“PS -1”命令可以查看当前用户进程的优先级, 如图 43 所示。图 43 查看进程的优先级在上面所示的执行结果中, PRI 和 NI 是两个与进程优先级有关的项。其中, P RI表示进程的优先级,它是由操作系统动态计算的,是实际的进程优先级;NI所 表示的是请求进程执行优先级,它可由进程拥有者或者超级用户进行设置,会影响 到实际的进程优先级。下面介绍两个可以改变进程优先级的命令。1nice 命令nice 命令的使用是在启动进程时指定请求进程执行优先级。语法格式如下所示: 语法格式:格式:nice【选项】 命令该命令较常用的一个选项是“-n”,n值(即NI值)的范围是从-20到19。-20 代表最高的 NI 优先级, 19 代表最低的 NI 优先级。如果没有该参数,将自动设置 NI 值为 10。默认情况下,只有超级用户才有权提高请求进程的优先级,而普通用 户只能降低请求进程的优先级。例如,以前台运行方式启动vim进程,并配合使用nice命令将vim进程的请求 优先级设置为-16。再使用“ps -l”命令查看设置结果,如图44所示。图 44 nice 命令2renice 命令renice命令的作用是在进程执行时更改它的NI值,可以通过命令名、PID或者 进程所有者名指定进程。语法格式如下所示:语法格式:renice +/-n -g命令名称-p进程标识码-u进程所有者nice命令是在启动进程时指定NI值,而renice命令是在进程执行时更改NI值。 例如,以后台运行方式启动find进程,并使用nice命令将该进程的请求优先级设置 为10(默认值),然后使用“ps十”命令可观察到find进程的NI为10、PID为3483。接着,使用 renice 命令将 find 进程的优先级更改为-6。等过了一段时间后,再 使用renice命令更改find进程的优先级时,系统提示:没有那个进程了,也即它已 终止了,因而该命令是无效的,如图45 所示。图 45 renice 命令