PVE8.0.2安装完之后,默认的CPU模式是ondemand,但是脚本检测到的却是performance性能模式,这个性能模式不考虑能耗问题,始终处于满载运行的状态。对于我们做NAS的,需要24小时开机的人来说,这肯定不符合我们的预期。
那么这个模式有多少种,该怎么调整呢?
1、ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。一般官方内核,还有CM7的默认的方式都是ondemand。
流畅度: 一般,流畅
2、interactive:交互模式,直接上最高频率,然后看CPU负荷慢慢降低,比较耗电。
流畅度: 最高,极流畅
Interactive 是以 CPU 排程数量而调整频率,从而实现省电。
InteractiveX 是以 CPU 负载来调整 CPU 频率,不会过度把频率调低。所以比 Interactive 反应好些,但是省电的效果一般
3、conservative:保守模式,类似于ondemand,但调整相对较缓,想省电就用他吧。Google官方内核,kang内核默认模式。
流畅度: 高,流畅
4、smartass:聪明模式,是I和C模式的升级,该模式在比i模式不差的响应的前提下会做到了更加省电
流畅度: 最高,流畅
5、performance:性能模式!只有最高频率,从来不考虑消耗的电量,性能没得说,但是耗电量.......
流畅度:还需要说么?还有比这种模式更流畅的吗?
6、powersave 省电模式,通常以最低频率运行,打不死我也不用。
流畅度: 极低
7、userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置
流畅度:根据设置而定
8、Hotplug:类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu,并且带有deep sleep,比较省电。
流畅度:一般,流畅
PS:设置里(包括setcpu)的CPU频率调节模式都有哪些,根据系统所用内核而定,上面所述的方式不一定都有!
以上的这几种模式,其实是Linux本身就有的模式,PVE也是Linux内核,所以也拥有以上的几种或所有模式。那怎么调整呢?
如果是全新安装的PVE,要用vi命令的话,最好设置一下,不然会感觉不好用:
编辑vimrc.tiny文件
vi /etc/vim/vimrc.tiny
将set compatible这句修改成:
set nocompatible
保存退出。
然后就开始安装驱动:
apt-get install cpufrequtils
再然后编辑配置文件:
vi /etc/init.d/cpufrequtils
找到如下:
ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="0"
MIN_SPEED="0"
修改为:
ENABLE="true"
GOVERNOR="conservative"
MAX_SPEED="0"
MIN_SPEED="0"
保存之后,重启服务:
systemctl daemon-reload
/etc/init.d/cpufrequtils restart
这样就完成了设置。
但是,有些CPU可能无法支持那么多的模式,可以使用命令查看支持的模式
命令:cpufreq-info -g
我的迷你主机是J4125的,可以支持conservative模式,但是7代的i5 7600仅支持performance和powersave两种模式,不想用performance模式的话,就只能用powersave模式了。
附使用方法:
# 查看全部核心详细信息
cpufreq-info
# 查看某个核心详细信息
cpufreq-info -c 0
# 查看CPU当前频率
cpufreq-info -f
# 查看CPU当前模式
cpufreq-info -p
# 查看CPU支持的模式
cpufreq-info -g
# 省电模式
cpufreq-set -g powersave
# 默认模式
cpufreq-set -g ondemand
# 性能模式
cpufreq-set -g performance
# 单独设置CPU频率
cpufreq-set -c 0 -f 4.1GHz
cpufreq-set -c 1 -f 4.1GHz
cpufreq-set -c 2 -f 4.1GHz
......
cpufreq-info 查看当前cpu状态
参数 值 说明
-c CPU序号 查看所指定cpu状态
-f 查看cpu当前频率
-l 查看cpu最高频率和最低频率
-p 查看当前cpu模式
-g 查看当前支持的CPU运行模式
-m 带单位的输出
cpufreq-set 设置cpu模式及频率
参数 值 说明
-c CPU序号 设置修改指定cpu
-d 频率 设置cpu最小运行频率
-u 频率 设置cpu最大运行频率
-g 模式 设置cpu模式
频率支持单位:
Hz kHz MHz GHz
常用CPU模式:
模式 说明
powersave 是无论如何都只会保持最低频率的所谓“省电”模式;
userspace 是自定义频率时的模式,这个是当你设定特定频率时自动转变的;
ondemand 默认模式。一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;
conservative 保守模式,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率;
performance 顾名思义只注重效率,无论如何一直保持以最大频率运行。
设置后会马上生效
重启后会失效