• 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 % 

  • 相关阅读:
    javascript如何封装函数
    addEventListener和attachEvent区别
    Infinity NaN undefined和null
    hasOwnProperty
    蜂巢式图片墙布局
    复选框使用总结
    文本框获得焦点时改变背景颜色
    自定义动画animate
    click()、bind()、live()和delegate()方法
    图片提示效果
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14062918.html
Copyright © 2020-2023  润新知