Linux命令之nice和renice

(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用户可以将优先级降低,但不能提高,更不能是负数。

posted @ 2019-02-19 16:39  苦逼运维  阅读(3679)  评论(0编辑  收藏  举报