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份额的概念。