zoukankan      html  css  js  c++  java
  • shell nice 调整谦让度


    在多任务操作系统中(Linux就是),内核负责将CPU时间分配给系统上运行的每个进程。调 度优先级(scheduling priority)是内核分配给进程的CPU时间(相对于其他进程)。
    在Linux系统 中,由shell启动的所有进程的调度优先级默认都是相同的。
    调度优先级是个整数值,从-20(最高优先级)到+19(最低优先级)。默认情况下,bash shell 以优先级0来启动所有进程。

    窍门:
    最低值-20是最高优先级,而最高值19是最低优先级,这太容易记混了。只要记住那句俗 语“好人难做”就行了。越是“好”或高的值,获得CPU时间的机会越低(谦让度越高,让出的执行机会越多,也就执行的越慢)

    nice命令的-n选项并不是必须的,只需要在破折号后面跟上优先级就行了。(例如:nice -10 ./test4.sh)

    bash shell 以优先级0来启动所有进程,谦让度默认都为零

    macname@localhost Desktop % ./test.sh
    Loop #1
    Loop #2
    Loop #3
    Loop #4
    Loop #5
    ^Z
    zsh: suspended  ./test.sh
    macname@localhost Desktop % jobs -l
    [1]  + 49332 suspended  ./test.sh
    macname@localhost Desktop % 
    macname@localhost Desktop % ps -p 49332 -o pid,ppid,ni    
      PID  PPID NI
    49332 40368  0
    macname@localhost Desktop % 
    macname@localhost Desktop % bg
    [1]  + continued  ./test.sh
    Loop #6                                                                                     
    macname@localhost Desktop % Loop #7
    Loop #8
    fgLoop #9
    
    [1]  + running    ./test.sh
    Loop #10
    Loop #11
    Loop #12
    ^CGoodbye...

    设置谦让度为10

    macname@localhost Desktop % 
    macname@localhost Desktop % nice -n 10 ./test.sh               
    Loop #1
    Loop #2
    Loop #3
    ^Z
    zsh: suspended  nice -n 10 ./test.sh
    macname@localhost Desktop % jobs -l
    [1]  - 49813 suspended  sudo nice -n -10 ./test.sh
    [2]  + 51107 suspended  nice -n 10 ./test.sh
    macname@localhost Desktop % 
    macname@localhost Desktop % ps -p 51107 -o pid,ppid,ni
      PID  PPID NI
    51107 40368 10
    macname@localhost Desktop % 

    普通用户,降低谦让度,会提示权限不够

    macname@localhost Desktop % nice -n -10 ./test.sh
    nice: setpriority: Permission denied
    Loop #1
    Loop #2
    Loop #3
    Loop #4
    ^Z
    zsh: suspended  nice -n -10 ./test.sh
    macname@localhost Desktop % jobs -l              
    [1]  + 51326 suspended  nice -n -10 ./test.sh
    macname@localhost Desktop % ps -p 51326 -o pid,ppid,ni
      PID  PPID NI
    51326 40368  0
    macname@localhost Desktop % 

    管理员降低谦让度,最低为0

    macname@localhost Desktop % sudo nice -n -10 ./test.sh 
    Password:
    Loop #1
    Loop #2
    Loop #3
    Loop #4
    ^Z
    zsh: suspended  sudo nice -n -10 ./test.sh
    macname@localhost Desktop % jobs -l                    
    [1]  + 49813 suspended  sudo nice -n -10 ./test.sh
    macname@localhost Desktop % ps -p 49813 -o pid,ppid,ni
      PID  PPID NI
    49813 40368  0
    macname@localhost Desktop % 

  • 相关阅读:
    MongoDB 3.0 添加用户
    MongoDB基本命令用
    http://www.bootcss.com/
    UML之用例图
    .net 下分布式缓存(Memcached)实现
    Android系列 -- 2、视图组件View
    Android系列 -- 1、 初识android
    TP50、TP90、TP99、TP999详解
    Linux下SSD缓存加速之bcache使用
    数据中心常见电源线详细介绍
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14062918.html
Copyright © 2011-2022 走看看