nice === 改变程序执行的优先权等级 ## 补充说明 **nice命令** 用于以指定的进程调度优先级启动其他的程序。Crontab中用什么命令定义某个程序执行的优先级别 nice/renice:进程执行优先级 概念: 进程优先级:系统按进程优先级的不同分配CPU时间,优先级高的进程会得到更多的CPU使用时间,以提高速度,缩短总的执行时间。 进程优先级范围:-20至19 最高等级:-20 最低等级:19 系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。 进程运行的默认等级为0。 用nice执行的进程其默认等级为10(即nice <程序名>,不指定等级时)。 ### 语法 ``` nice [选项] [命令 [参数]...] ``` ### 选项 ``` -n:指定进程的优先级(整数,默认是10)。 ``` ### 参数 指令及选项:需要运行的指令及其他选项。 ### 实例 新建一个进程并设置优先级,将当前目录下的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 ``` 如:(命令后加&表示以后台运行) vi & 优先等级0,默认等级。 nice vi & 优先等级10,使用nice执行程序时的默认等级。 nice -50 vi & 优先等级19,-号表示选项,等级50超过最低等级19,因此系统以等级19执行。 nice -18 vi & 优先等级18。 nice --50 vi & 优先等级-20,选项值为-50,超过最高等级-20,因此系统以等级-20执行。 nice --18 vi & 优先等级-18。 通过ps -l可查看以上命令的执行情况(注意查看各vi进程NI值的不同)。 重新调整正在执行的进程的优先级: 调整指定PID进程的等级 renice <等级> 注意:<等级>是参数,不是选项,没有前缀-号。 调整指定用户的所有进程的等级 renice <等级> <用户名1> <用户名2> ... 调整指定组的所有用户的所有进程的等级 renice <等级> -g <组名1>