微星主板中如何设置CPU风扇的调整规则

本人最近为了实现较高的单核性能(AMD R5 3600X的单核性能非常高(别那么贵的情况下),所以我没选Intel的处理器)+想初步玩一玩深度学习(所以必须是N卡)

3600X是我这个家境贫寒之人能够负担得起的单核性能最强的CPU,后来该网站改了算法,单核性能排名靠前的变成了Intel的处理器。。。

组装了一台电脑,配置如下:

组件 品牌与型号 价格(元人民币)
CPU+主板 AMD R5 3600X;MSI B450M Mortar Max 1848.58
散热器 利民AS120单风扇 109.61
内存 ADATA XPG DDR4 3000MHz 8G 2条 535.85
显卡 Gigabyte Nvidia GeForce GTX 1660 Super Gaming OC 6G 1687.25
固态硬盘 Plextor M9PeG 256G 321.57
无线网卡 DIEWU TX083(Intel AX200)带散热片 128.36
机械硬盘 WD10EZEX 1T 3.5寸 64MB缓存 7200RPM 267.26
主机 先马塞恩3(赠5个风扇)(其中40元为邮费) 237.7
电源 振华HX500W 340.28
合计 5476.46

但是遇到了一个问题:

在主板的设置中,需要对CPU风扇设置一个转速自动调整的规则,以实现静音和散热的平衡

微星主板对CPU风扇转速规则的默认设置
微星主板设置CPU风扇转速规则的界面

这该如何设置呢?

一、风扇转速的调节,是怎么个规则

微星的主板允许用户设置的规则,是如何根据CPU的温度传感器示数(以下简称CPU传感温度)来调节CPU散热风扇的转速。一共有连续的四档CPU传感温度和风扇转速的调节规则绘如下图:

风扇转速规则

经反复测试,规则的设定具有以下限制或特点:

  1. 规则是根据传感温度(记为)调节CPU风扇转速(风扇转速的负荷率记为)
  2. 转速与温度的对应关系,画成函数图像,是一条折线,由4条线段和1条射线组成。记从左向右数第条线段的斜率为()
  3. 用户可以调节的只有图上那4个“×”的位置(即温度-转速数对),记为,
  4. 最低温那个“×”与原点相连,最高温那个“×”的右侧的线是水平的
  5. 每个叉之间温度方面至少要相差1度
  6. 任何一段线均不能是竖直的,即任意
  7. 整条线必须是单调不减的,即任意。为了充分利用这四个叉,下文将要求折线中任意一条线段的斜率都大于0(即)

二、直觉下设置的规则

既然默认的是这样,那就大概微调一下就好了。由于CPU报警的温度是70度,因此我就把最高档的温度调整为70度,其他的就没怎么调。

三、直觉下的规则真的是最优的吗

为了发扬科学精神,摆脱常识的束缚,我决定仔细想一想这个事。最后的结果告诉我,不是!

1 何为最优

为了散热好,直接把任何温度下的风扇转速拉满,就完事了。但是这就会带来过大的噪音。谁家散热风扇打开个Word也是满负荷的?吵死了。

为了静音,不要装风扇好不好?不好,那样的话CPU的性能和寿命就会受到很大影响。

所以,设置这个调节规则,目标是:

在CPU发热一定的情况下,最优规则能够使风扇的转速很低,且CPU的温度也很低。

2 问题模型化

模型的基本想法是:CPU温度的变化来自于自身发热和风扇的散热。把它翻译成微分方程是:

其中表示CPU的温度,是CPU发热量,是风扇转速的负荷率,界于0-100%,是CPU风扇的散热系数(此处合理假定风扇转速与散热量呈正比关系)。

另外,温度与风扇转速还满足调节规则:

将上式代入,得到一元常微分方程

3 模型的特点

a 当CPU发热量“不太大”时,方程存在唯一且稳定的解

i 存在与唯一性

当时,方程存在唯一且稳定的解。

由于连续,且满足利普希茨条件(取风扇规则曲线中最大的斜率再乘以),因此方程存在唯一解,记为。

ii 稳定性及稳定的状态

当初始温度在第4个叉以上(即)时,为定值100%。若,则此时已达到稳定状态;若,则,解得,则温度将随时间一路下降至第4个叉以下。

当初始温度在第4个叉以下(即)且时,对于稳定解的任意小的一个邻域外,总有,且与异号,从而在有限时间内,将进入该邻域。且由于在邻域中,温度-转速存在连续的负反馈机制,因而当温度进入该邻域后,不会再跳出该邻域。因此,对于任意小的,存在,当时,成立,因此。

当初始温度在第4个叉以下(即)且时,,且当在任意一个的左邻域外时,有,因此在有限时间内,温度将进入该邻域。当温度进入该邻域时,温度不会超过(是上确界,因为不会稳定于任何低于的温度),因此收敛于()。

综上所述,

  1. 当CPU发热刚好等于风扇散热的能力时
    1.1 当初始温度时,最终温度将稳定在
    1.2 当初始温度时,温度将不再改变,稳定在
  2. 当CPU发热小于风扇散热的能力时(多数情况),不论初始温度处于何值,最终都将趋于稳定,其中风扇转速稳定于,温度稳定于,满足

b CPU温度稳定时,风扇转速不随规则而改变

当CPU温度稳定时,,从而有,即。

四、模型告诉了我什么

嗯,模型告诉我们,CPU发热一定的情况下,风扇的噪音与你设置的规则几乎无关

所以,根据模型来看,将第1个叉拉到(室温+1,100%转速),其他叉放到100%转速,应当为最优的解,即规则曲线应尽可能地“上凸”。由于风扇转速(即噪音)只取决于风扇的散热性能(固定)和CPU的发热量,因此只要调速规则能够达到100%的转速,那么CPU最终的噪音都是一样的,无论规则如何设置。而且,这样还能使CPU保持在最低的温度。

但是,实际中还有以下问题:

  • CPU的温度测量存在误差

也就是说,如果真的直接将第1个叉拉到(室温+1,100%)的话,由于CPU温度传感器存在测量上的误差,那风扇其实绝大多数时候就一直在以100%的速度运行。反而噪音更大。如果将四个叉的位置摆放得开一些,能够容纳下测量误差的话,即可实现最优的配置(让CPU的温度尽可能地降低)。

五、到底应该如何设置风扇转速规则

1 举例说明

以下述情况举例说明如何设置风扇规则:

  • CPU温度传感器的测量误差为2度
  • 想让CPU风扇实现至少10个档位(不含空档)
  • 室温为28度

风扇规则应满足:

CPU实际温度 风扇转速
28 0%
32 10%
36 20%
40 30%
44 40%
48 50%
52 60%
56 70%
60 80%
64 90%
68 100%

第一列为室温+2n个测量误差,第二列为由0%起至100%的各个档位。

所以设置的时候就非常好设置了:

  • 第1个叉:(室温,0%)
  • 第2个叉:(上表最后一项温度值68℃,100%)
  • 第3、4个叉:100%

2 参数的设置

上述举例中,涉及到3个参数:

  • CPU温度传感器的测量误差
  • 想让风扇有多少个档位
  • 室温

a CPU温度传感器的测量误差

这个如果能找到厂家直接问到的话,最好。找不到的话,那就只好自己测了。测量的方法是:先将CPU风扇功率调至恒定值,然后给出恒定负荷的CPU计算量(通常是用烤机软件),查看温度在多少的范围内变动。范围上限减范围下限再除以2,即为CPU温度传感器的误差。需要注意的是,这需要让CPU稳定在不同温度下进行测试,以获取平均值。如果各个温度下温度传感器的测量误差不同且存在一定规律性,则需要根据这个规律,让上表中CPU实际温度一列的递增值随所在行的温度而改变。比如经测量发现,40度以下时,误差是2度,40度以上时,是1度,其他条件不变,则应当将档位设置成:

CPU实际温度 风扇转速 下一行递增
28 0% 4
32 10% 同上
36 20% 同上
40 30% 同上
44 40% 同上
48 50% 2
50 60% 同上
52 70% 同上
54 80% 同上
56 90% 同上
58 100% 0

b 想让风扇有多少个档位

由于要尽可能降低的不是转速,而是噪音,所以应当测一下自己可感知的最小噪音变动,从而反算出应当如何设置风扇转速的档位。如上表,其中可感知的噪音定为10%。如果发现自己对于噪音的感知精度随风扇转速的负荷率变化,则应当按照此规律设定风扇转速的档位。

至于如何测量,可以到BIOS里自己去试,一档一档地试。由于大多数CPU风扇都是PWM调节模式的,因此对于精确度的把握应当是十分准确的,不像DC调节的风扇那样不准确。

c 室温

其实,这个温度更贴切的讲法,应该是风扇的启动温度。由于一般人用的散热最终目标是接近室温(有一些用液氮的另说。。。),因此当CPU低于室温时,开启风扇反而会使其加热,因此不太建议将此温度设定得过低,如18度(除非你家室温能达到18度。。。);建议设置为家中室温波动的上限,如28度~30度

六、现实远比你想象的复杂

1 模型的精细化

其实,风扇转速和降温效果之间,不只是正比的关系,还要考虑到外界温度,即很可能模型应该改成

这样,模型的收敛性会更好一些,稳定性不变,稳态会略有变化,但是最终如何设定风扇转速曲线的结论没有变

2 AMD处理器的PBO

经过我实际测试,将第2个叉放在(48℃,100%)与放在(70℃,100%)相比,由于我开启了AMD的PBO(Precision Boost Overclocking,即精准超频)功能,当AMD处理器感觉到散热条件好时,会给CPU加电压,从而使得其发热(即模型中的)加大,所以会导致前述结论的错误,而应是风扇转速曲线越上凸,噪音反而越大

你可能感兴趣的:(微星主板中如何设置CPU风扇的调整规则)