CPU的相关概念以及优化

CPU优先级

  一个单一的cpu 再同一时间只能运行一个任务,在现实中会要求cpu在多任务。为了调度CPU的运行,有了优先级的说法,优先级有0-139 其中nice的-20至19 是100-139,而对于real-tim priority来说,nice的优先级均属于0级别,

 

  其中静态优先级分为3类,

    注意:该模式的任何优先级均高于nice设置的优先级,会处理完该模式的任何进程后再处理普通进程。

    1、SCHED_FIFO

      先进先出模式,当该进程未处理完时,不会处理其他进程,除非其他进程优先级高于它,它将会排队在优先级高于他的进程后

    2、SCHED_RR

      轮询,优先级高者得到更多的时间片。如果一个时间片内没有处理完,会从队列最后重新开始排队

    3、SCHED_OTHER

      其他,nice、renice

 

  调整优先级

    chrt  // change runtime

    调整未运行的程序

      chrt -r number /path/to prgo

     

    调整已经运行程序

      chrt -p pid -r [1-99]

------------------------------------------------------------------------------------------------

   扩展

      nice /renice

        范围 -20至19 数字越小优先级越高

        ps axo %cpu,%mem,pid,uid,comm,nice

 

    cpushare

      默认使用/sys/fs/cgroup/cpu,cpuacct/cpu.share (默认1024)

      新建/etc/systemd/system/服务名.service.d/文件夹创建00-服务,然后重启服务。

      在nice优先级的情况下,用于cpu紧张的时候划分cpu份额,类似虚拟机中cpu份额的概念。

原文地址:https://www.cnblogs.com/ggykx/p/11333898.html