nice命令用于以指定的进程调度优先级启动其他的程序。
语法
nice(选项)(参数)
选项
-n:指定进程的优先级(整数)。
参数
指令及选项:需要运行的指令及其他选项。
实例
新建一个进程并设置优先级,将当前目录下的documents目录打包,但不希望tar占用太多CPU:
nice -19 tar zcf pack.tar.gz documents
方法非常简单,即在原命令前加上nice -19
。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望将当前目录下的documents目录打包,并且赋予tar进程最高的优先级:
nice --19 tar zcf pack.tar.gz documents
详解:
|
如备份工作由于工作相当的耗系統资源, 这个时候就可以将备份的指令之 nice 值调大一些,可以使系统的资源分配的更为公平
对于普通用户来说,只可以以更低优先级运行命令,更高优先级运行命令需要高级用户权限。
nice命令不允许普通系统用户增加命令的优先级。这是一个安全特性,防止用户以高优先级启动所有命令。
很明显nice命令是为未运行命令指定运行时调度优先级的,如果是已运行的命令则需要renice命令。
renice命令与nice命令用法一样,限制也一样(普通用户只能以更低的调度优先级运行命令),惟一不同就是可以更新正在运行命令的调度优先级。
进程cpu资源分配就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。
PR 就是 Priority 的简写,而 NI 是 nice 的简写。这两个值决定了PR的值,PR越小,进程优先权就越高,就越“优先执行”。换算公式为:PR(new) = PR(old) + NI
renice命令可以修改正在运行的进程的调度优先级。预设是以程序识别码指定程序调整其优先权,您亦可以指定程序群组或用户名称调整优先权等级,并修改所有隶属于该程序群组或用户的程序的优先权。只有系统管理者可以改变其他用户程序的优先权,也仅有系统管理者可以设置负数等级。
语法
renice(选项)(参数)
选项
-g:指定进程组id;
-p<程序识别码>:改变该程序的优先权等级,此参数为预设值。
-u:指定开启进程的用户名。
参数
进程号:指定要修改优先级的进程。
实例
将行程id为987及32的行程与行程拥有者为daemon及root的优先序号码加1:
renice 1 987 -u daemon root -p 32
注意:每一个行程都有一个唯一的id。
详解:
renice N [ [进程号] [-u 用户名] [-g 用户组] ]
其中N为-20~19之间的整数,表示进程的优先等级;[进程号]指进程的PID值;[-u]或[-g]用于改变用户或用户组中所有进程执行的优先级。
renice使用进程号来对进程进行指定,而nice命令使用程序名。renice命令的参数N前不需要加上“-”符号,而nice命令的参数N前需要加上“-”符号。
renice -5 -p 5200 #将PID为5200的进程的niceness设为-5
renice -5 -u xie #将属于用户xie的进程的niceness设为-5
renice -5 -g group1 #将属于group1组的程序的niceness设为5
例如修改vi进程的优先级,命令行如下:
- # ps -l | grep vi
- 0 T 0 6087 3796 0 77 0 - 1239 finish pts/1 00:00:00 vi
- # renice -10 6087
- 6087: old priority 0, new priority -10
如果重新修改的等级超出最小值,则该进程的优先级取最高等级-20:
- # renice -25 6087
- 6087: old priority -10, new priority -20
如果重新修改的等级超出最大值,则该进程的优先级取最低等级19:
- # renice 25 6087
- 6087: old priority -20, new priority 19
例如修改用户teacher1和teacher2所执行进程的优先级为-10,命令行如下:
- # renice -10 -u teacher1 teacher2
- 500: old priority -10, new priority -10
- 505: old priority 0, new priority -10
如果修改teacher用户组中所有用户执行的进程优先级为-5,命令行如下:
- # renice -5 -g teacher
- 0: old priority -10, new priority –5