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