(1).nice命令
nice [选项] [命令 [参数]]
在执行程序之前,改变优先级。以调整过的优先级运行命令。如果没有给出命令,就显示当前的优先级。优先级范围从-20到19,越小优先级越高,默认为0。
注意:系统允许root用户设置负数优先级,以及减小现有进程的优先级数值大小。对普通用户仅允许设置正数优先级,并且只能增大现有进程的优先级数值大小。
选项:
-n,--adjustment=N 将整数N添加到优先级(指定优先级)
--help 显示帮助信息
--version 显示版本信息
(2).renice命令
renice [-n] 优先级 [-gpu] 标识符...
renice改变一个或多个正在运行的进程的优先级。
选项:
-n,--priority <priority> 指定标识符的计划优先级。该选项是可选的,但使用时必须为第一个参数。
-g,--pgrp <pgid>... 标识符指定为进程组ID
-u,--user <name_or_uid>... 标识符指定为用户名或用户ID
-p,--pid <pid>... 标识符指定为进程ID(默认)
-h,--help 显示帮助信息
-V,--version 显示版本信息
(3).实例
[xf@xuexi ~]$ nice -n 5 vim a.txt
[1]+ 已停止 nice -n 5 vim a.txt
[xf@xuexi ~]$ ps -aux | grep vim
xf 12423 1.1 0.2 151796 5368 pts/0 TN 16:22 0:00 vim a.txt
xf 12431 0.0 0.0 112724 988 pts/0 S+ 16:22 0:00 grep --color=auto vim
[xf@xuexi ~]$ top -p 12423
top - 16:24:09 up 2:29, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 1 total, 0 running, 0 sleeping, 1 stopped, 0 zombie
%Cpu(s): 6.7 us, 1.7 sy, 0.0 ni, 91.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2028116 total, 524308 free, 733600 used, 770208 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1064204 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12423 xf 25 5 151796 5368 2764 T 0.0 0.3 0:00.08 vim
[xf@xuexi ~]$ renice -n 10 -p 12423
12423 (进程 ID) 旧优先级为 5,新优先级为 10
[xf@xuexi ~]$ top -p 12423
top - 16:25:19 up 2:30, 2 users, load average: 0.14, 0.06, 0.06
Tasks: 1 total, 0 running, 0 sleeping, 1 stopped, 0 zombie
%Cpu(s): 8.3 us, 1.7 sy, 0.0 ni, 90.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2028116 total, 524888 free, 733000 used, 770228 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1064768 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12423 xf 30 10 151796 5368 2764 T 0.0 0.3 0:00.08 vim
[xf@xuexi ~]$ renice -8 -p 12423
renice: 设置 12423 的优先级失败(进程 ID): 权限不够
[xf@xuexi ~]$ renice -11 -p 12423
renice: 设置 12423 的优先级失败(进程 ID): 权限不够
[xf@xuexi ~]$ renice 8 -p 12423
renice: 设置 12423 的优先级失败(进程 ID): 权限不够
[xf@xuexi ~]$ renice 11 -p 12423
12423 (进程 ID) 旧优先级为 10,新优先级为 11
可以看到非root用户可以将优先级降低,但不能提高,更不能是负数。