本人最近为了实现较高的单核性能(AMD R5 3600X的单核性能非常高(别那么贵的情况下),所以我没选Intel的处理器)+想初步玩一玩深度学习(所以必须是N卡)
3600X是我这个家境贫寒之人能够负担得起的单核性能最强的CPU,后来该网站改了算法,单核性能排名靠前的变成了Intel的处理器。。。组装了一台电脑,配置如下:
组件品牌与型号价格(元人民币)CPU+主板AMD R5 3600X;MSI B450M Mortar Max1848.58散热器利民AS120单风扇109.61内存ADATA XPG DDR4 3000MHz 8G 2条535.85显卡Gigabyte Nvidia GeForce GTX 1660 Super Gaming OC 6G1687.25固态硬盘Plextor M9PeG 256G321.57无线网卡DIEWU TX083(Intel AX200)带散热片128.36机械硬盘WD10EZEX 1T 3.5寸 64MB缓存 7200RPM267.26主机先马塞恩3(赠5个风扇)(其中40元为邮费)237.7电源振华HX500W340.28合计5476.46但是遇到了一个问题:
在主板的设置中,需要对CPU风扇设置一个转速自动调整的规则,以实现静音和散热的平衡:
微星主板对CPU风扇转速规则的默认设置微星主板设置CPU风扇转速规则的界面这该如何设置呢?
一、风扇转速的调节,是怎么个规则微星的主板允许用户设置的规则,是如何根据CPU的温度传感器示数(以下简称CPU传感温度)来调节CPU散热风扇的转速。一共有连续的四档CPU传感温度和风扇转速的调节规则绘如下图:
风扇转速规则经反复测试,规则的设定具有以下限制或特点:
规则是根据传感温度(记为)调节CPU风扇转速(风扇转速的负荷率记为)转速与温度的对应关系,画成函数图像,是一条折线,由4条线段和1条射线组成。记从左向右数第条线段的斜率为()用户可以调节的只有图上那4个“×”的位置(即温度-转速数对),记为,最低温那个“×”与原点相连,最高温那个“×”的右侧的线是水平的。每个叉之间温度方面至少要相差1度任何一段线均不能是竖直的,即任意整条线必须是单调不减的,即任意。为了充分利用这四个叉,下文将要求折线中任意一条线段的斜率都大于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个叉以下(即)且时,,且当在任意一个的左邻域外时,有,因此在有限时间内,温度将进入该邻域。当温度进入该邻域时,温度不会超过(是上确界,因为不会稳定于任何低于的温度),因此收敛于()。
综上所述,
当CPU发热刚好等于风扇散热的能力时1.1 当初始温度时,最终温度将稳定在1.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实际温度风扇转速280%3210%3620%4030%4440%4850%5260%5670%6080%6490%68100%即
第一列为室温+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实际温度风扇转速下一行递增280%43210%同上3620%同上4030%同上4440%同上4850%25060%同上5270%同上5480%同上5690%同上58100%0b 想让风扇有多少个档位由于要尽可能降低的不是转速,而是噪音,所以应当测一下自己可感知的最小噪音变动,从而反算出应当如何设置风扇转速的档位。如上表,其中可感知的噪音定为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加电压,从而使得其发热(即模型中的)加大,所以会导致前述结论的错误,而应是风扇转速曲线越上凸,噪音反而越大。