1、有关CPU调优分析
cpu处理方式:
1.批处理,顺序处理请求。(切换次数少,吞吐量大)
2.分时处理。(如同"独占",吞吐量小)(时间片,把请求分为一个一个的时间片,一片一片的分给CPU处理)我们现在使用x86就是这种架构
3.实时处理:一般用于单片机上,比如电梯的上下控制,对于按键等动作要求进行实时处理。
我们可以通过查看/boot/config查看一下内核一秒钟中断CPU次数,/boot/config-3.10.0-327.el7.x86_64是编译内核的参数文件。
[root@centos ~]# grep HZ /boot/config-3.10.0-327.el7.x86_64
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
# CONFIG_NO_HZ_FULL_ALL is not set
CONFIG_NO_HZ=y
# CONFIG_RCU_FAST_NO_HZ is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000 #1秒钟1000次中断
CONFIG_MACHZ_WDT=m
调整进程优先级使用更多的CPU
调整进程nice值,让进程使用更多的cpu
优先级控制:nice值作用:以什么优先级运行进程。默认优先级是0 #范围 -20~19 越小优先级越高 普通用户0-19
[root@centos ~]# vim 1.txt
在另一个终端
[root@centos ~]# ps aux | grep vim
root 5053 0.1 0.1 151444 5196 pts/0 S+ 18:07 0:00 vim 1.txt
root 5056 0.0 0.0 112644 952 pts/2 S+ 18:08 0:00 grep --color=auto vim
可以查看默认nice值为0
[root@centos ~]# top -p 5053
top - 18:08:28 up 5:06, 3 users, load average: 0.01, 0.02, 0.05
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3866948 total, 3225192 free, 166468 used, 475288 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 3467116 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5053 root 20 0 151444 5196 2588 S 0.0 0.1 0:00.04 vim
[root@centos ~]# nice -n -5