00. 目录
01. 命令概述
nice命令用于以指定的进程调度优先级启动其他的程序。
系统的后台工作中,某些比较不重要的进程在运行,例如备份,由于备份工作相当耗系统资源,这个时候就可以调大备份命令的nice值,可以使系统资源更合理使用。
02. 命令格式
用法:
renice [-n] <优先级> [-p|--pid] <pid>...
renice [-n] <优先级> -g|--pgrp <pgid>...
renice [-n] <优先级> -u|--user <用户>...
03. 常用选项
选项:
-g, --pgrp <id> 将参数解释为进程组 ID
-n, --priority <数字> 指定 nice 增加值 范围在-20~19
-p, --pid <id> 将参数解释为进程 ID (默认)
-u, --user <name|id> 将参数解释为用户名或用户 ID
-h, --help 显示帮助文本并退出
-V, --version 显示版本信息并退出
04. 参考示例
4.1 设置进程优先级为19
[root@itcast ~]# nice -n 19 vim &
[1] 18565
4.2 新建一个进程并设置优先级19
新建一个进程并设置优先级,将/etc目录打包,但不希望tar占用太多CPU:
[root@itcast ~]# nice -19 tar -czvf test.tar.gz /etc
方法非常简单,即在原命令前加上nice -19
。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望/etc目录打包,并且赋予tar进程最高的优先级:
4.3 新建一个进程并设置优先级-19
[root@itcast ~]# nice --19 tar -czvf test.tar.gz /etc
4.4 设置优先级并且查看
[root@itcast ~]# nice -n -5 vim &
[2] 29010
[root@itcast ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 T 0 29010 109841 1 75 -5 - 37522 do_sig pts/0 00:00:00 vim
0 R 0 29191 109841 0 80 0 - 38300 - pts/0 00:00:00 ps
4 S 0 109803 63226 0 80 0 - 58600 do_wai pts/0 00:00:00 su
4 S 0 109841 109803 0 80 0 - 29215 do_wai pts/0 00:00:00 bash
[root@itcast ~]#
对于普通用户来说,只可以以更低优先级运行命令,更高优先级运行命令需要高级用户权限。
nice命令不允许普通系统用户增加命令的优先级。这是一个安全特性,防止用户以高优先级启动所有命令。
很明显nice命令是为未运行命令指定运行时调度优先级的。