BIOS 中的 CPU 温度非常高,但 RealTemp/Speedfan 中的温度正常

BIOS 中的 CPU 温度非常高,但 RealTemp/Speedfan 中的温度正常

我刚刚用英特尔 DP67BA 主板为自己搭建了一个新的 i7 2600k 系统。启动到 BIOS 后,我惊讶地发现处理器温度报告为 75 C,并且稳步上升……一直升到 91 C。更新 BIOS……还是一样。拆下散热器,取出库存导热膏,涂上 Arctic Silver 5(仔细遵循 Arctic Silver 网站上的所有说明)。启动到 BIOS……还是一样。温度似乎更高了一点。

无论如何,我决定继续安装 Windows,看看 RealTemp/Speedfan 怎么说。安装成功,运行 RealTemp,它告诉我我的核心温度为 36 摄氏度。Speedfan 也是一样。在 Prime 95 中运行压力测试,温度确实上升了,高达 90 摄氏度。但显然它们一开始就不可能是 90 摄氏度。

满载情况下 90 摄氏度显然相当高,但我坐在没有空调的沙漠中,室温大约为 30 摄氏度,因此满载情况下 90 摄氏度(我猜是 Turbo Boost 自动超频)并没有让我感到太惊讶(尽管它仍然很高)。BIOS 温度让我非常担心,现在仍然让我担心。

那么...我应该如何看待这一切?在网上做了一些研究,似乎表明 BIOS 中的 CPU 负载范围从 80% 到 100%,具体取决于主板,这让我很惊讶(我以为 CPU 在 BIOS 中会处于空闲状态)。英特尔主板在 BIOS 中以 100% 运行 CPU 吗?如果是这样,那么我想这可以解释 Prime 95 压力下 RealTemp 温度对应的高温...

无论如何,任何建议/帮助/想法/推荐都非常感谢。需要确定一切是否正常(基本上基于 RealTemp 的发现),或者我是否需要更换 CPU 和/或主板。我倾向于认为 BIOS 有问题,导致 CPU 满负荷运行……但也许这是一个错误的结论?

答案1

BIOS 中的 CPU 负载范围从 80% 到 100%,具体取决于主板,这让我很惊讶(我以为 BIOS 中的 CPU 会处于空闲状态

这很容易解释。如果你启动 DOS,你也会看到温度上升。为什么?因为在 DOS 和 BIOS 首次编写的时代,过热并不是一个真正的问题,所以没有必要让 CPU 闲置。(就像 Hennes 所说的那样,这有点偷懒,因为人们会认为 BIOS 开发人员现在会正确地编写它们,但我认为,当他们只需修改现有的 BIOS 时,很难证明从头开始重写整个 BIOS 是合理的。)

这意味着 BIOS(基本上只是一个程序),就像运行 DOS 模式的程序一样,只是无限循环运行以接受用户输入。同样,这在以前不是问题,但在更现代的系统中,它可能会导致 CPU 不必要地升温。

如果您在虚拟机中运行 DOS,主机系统的 CPU 将飙升至 100% 左右(至少对于虚拟机正在运行的核心而言,如果有多个核心)。这就是为什么建议您运行一个名为idle.com在您的 DOS VM 中。它最初随 VirtualPC 一起出现,但后来被所有在 VM 中使用 DOS 的人广泛使用。事实上,有些人甚至使用它来在启动实际 DOS 时保持 CPU 空闲(尽管这是否可行仍有待商榷,直到有人能拆开它看看它是如何工作的——嗯,新项目!)

那么这和你有什么关系呢?就像我说的,BIOS 也没什么不同。它没有空闲循环来HALT向 CPU 发送指令以防止其过热;它也运行在一个简单、基本的无限循环中(例如while done=0 {readkeyboard ... if key=q then done=1}

因此,当您处于 BIOS 中(甚至在预启动序列中)时,CPU 确实会发热。这受限于 BIOS 温度较高,但低于满载 CPU 的情况。(BIOS 是一个简单的单线程程序,因此只有一个内核会达到 100%。我想这可以被认为是偷懒,但话又说回来,将其更新为多线程并没有什么好处。)

因此,如果热量是个问题(例如,当您身处沙漠中时),建议尽可能少地花时间在 BIOS 上。此外,尽量不要在预启动过程中暂停。操作系统启动和运行(以及向HALTCPU 发送指令)的速度越快越好。

如果您将系统连接到功率计(例如 Kill-a-Watt),则可以从数字上观察到这一点,因为系统在 BIOS 编辑器或 DOS、暂停 POST 甚至 OS 启动菜单中时会消耗更多电量。但是,当加载具有电源意识的操作系统时,功耗会下降(事实上,即使idle.com在 DOS 中运行也会将其降至相同数量)。具体差异会有所不同,但 30-50W 并不罕见。

另一种观察此现象的方法是使用虚拟机。如果您在 POST 时暂停虚拟机或进入 BIOS 配置工具,您将看到主机上的 CPU 负载很高(单核处理器上为 100%,双核/线程上为 50%,等等)。如果您在虚拟机中启动到 DOS,主机的 CPU 负载将保持很高,直到您执行idle.com,此时负载会降至 ~0%。当您将客户机启动到 Windows 或其他现代操作系统时,负载也会下降。

答案2

我的直觉是 BIOS 读数以华氏度为单位,而不是摄氏度。这将提供您描述的近似测量值,并解释 speedFan 和 RealTemp 提供有意义的数据。

答案3

我认为这是正常现象,尽管它可能很奇怪。去年夏天,我组装了一个带有 i5-2500k 处理器的系统,从那时起它几乎一直在运行,标准工作温度约为 30c。超频并运行 Prime95 后,我的运行温度约为 50-60c,但仅在不超频的情况下加载 BIOS 就会达到相同的范围。自从我组装它以来,它一直如此,并且在我进入 BIOS 时继续如此,但到目前为止,计算机没有受到任何不良影响。正如其他人在评论中指出的那样,运行 BIOS 时可能存在一些懒惰的编码,导致 CPU 达到最大值,即使您几乎没有执行任何操作。除非您打算连续数小时编辑 BIOS,否则我不会担心该温度,而会专注于 Windows 中的正常运行温度。

相关内容