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

  • 相关阅读:
    Delphi XE2 之 FireMonkey 入门(16) 滤镜: 实例测试
    Delphi XE2 之 FireMonkey 入门(20) TStyleBook(皮肤、样式相关)
    Delphi XE2 之 FireMonkey 入门(18) TLang(多语言切换的实现)
    Delphi XE2 之 FireMonkey 入门(15) 滤镜: 获取滤镜信息
    ASP.NET中常用功能代码总结(7)——利用Jmail发送和接收邮件
    使用.NET Remoting开发分布式应用——基于租约的生存期
    一个SOA时代的到来,看CSDN新闻有感
    .NET设计模式(3):抽象工厂模式(Abstract Factory)
    ASP.NET中常用功能代码总结(3)——上传图片到数据库
    人的一生 有三件事情不能等
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14062918.html
Copyright © 2020-2023  润新知