进程优先级(NI和PR值)

nice(NI)和priority(PR)

注意: 不管如何设置优先级,实时进程对于 CPU 的抢占能力一定大于非实时进程

NICE值:表示静态优先级,反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别,这个值越小,表示进程”优先级”越高,而值越大“优先级”越低

PR值:叠加过 NI 的动态优先级,其值越小,优先级越高

调整优先级

不设置优先级时:
# 执行一条命令时,cpu 占比 95%

$ cat /dev/zero >> /dev/null &  
$ top
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                    
15098 root      20   0  107972    616    516 R 95.0  0.1   0:16.80 cat           

# 执行两条命令时,各自 cpu 占比 47.5%

$ cat /dev/zero >> /dev/null &
$ cat /dev/zero >> /dev/null &
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                    
15098 root      20   0  107972    616    516 R 47.5  0.1   2:45.64 cat                                                        
17456 root      20   0  107972    616    516 R 47.5  0.1   0:06.92 cat     

# 执行三条命令时,各自 cpu 占比 32%

$ cat /dev/zero >> /dev/null &
$ cat /dev/zero >> /dev/null &
$ cat /dev/zero >> /dev/null &
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM 
15098 root      20   0  107972    616    516 R 32.5  0.1 
22458 root      20   0  107972    616    516 R 32.5  0.1 
17456 root      20   0  107972    616    516 R 32.1  0.1 

/dev/null: "黑洞文件". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到
/dev/zero:文件是一个特殊的字符设备文件,当我们使用或者读取它的时候,它会提供无限连续不断的空数据流

当设置优先级时:

$ nice -n 0 cat /dev/zero >> /dev/null &
$ nice -n -10 cat /dev/zero >> /dev/null &
$ nice -n 10 cat /dev/zero >> /dev/null &
$ top
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                    
28151 root      10 -10  107972    616    516 R 85.8  0.1   1:40.56 cat                                                        
27766 root      20   0  107972    616    516 R  9.2  0.1   0:33.82 cat                                                        
27667 root      30  10  107972    616    516 R  1.0  0.1   0:10.37 cat        

# 如上cpu使用率最多的是NI值最小的、进程pid为28151,修改它的优先级 后将减少cpu的使用率

$ renice -n 5 28151
$ top
 PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                    
27766 root      20   0  107972    616    516 R 61.8  0.1   1:18.50 cat                                                        
28151 root      25   5  107972    616    516 R 21.3  0.1   6:14.36 cat   *                                                       
27667 root      30  10  107972    616    516 R  6.3  0.1   0:15.16 cat  

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值