我有一个双 Opteron 服务器,运行带有 libvirt 的 Linux 来托管多个 VM。虚拟机工作正常,服务器处理正常,但我注意到一个 CPU 始终运行大约 69C(油门在 70C),另一个运行大约 15C。
这对我来说似乎不正常?他们两个温度不应该更接近一点吗?
我不知道如何进一步诊断。也许其中一个 CPU 上没有足够的导热膏?
编辑:主板是华硕 KGPE-D16,由双Noctua NH-U9DO 风扇冷却。
请注意,我认为温度可能会高于环境温度,而不是绝对值?当服务器空闲时,CPU 温度下降到 2C 和 13C。我正在使用这里的 lmsensors 配置
问题最终是一个不合适的散热器。也许不合适不是正确的描述。事实证明,您必须在散热器上涂抹导热膏,而不是在散热器上方的塑料盖上。
拆掉塑料盖后,CPU很好看,很酷,谢谢大家!
根据我的经验,一个外壳中的配对组件在不同的温度下运行是正常的,因为各处的气流都不相同。这是我的结肠盒中的硬盘温度图。驱动器是镜像的,因此它们上的工作负载几乎相同。
如您所见,它们相互跟踪,但它们并不相同;平均而言,它们之间的距离也只有 6C。无论您的传感器报告绝对温度还是过热,负载下 55C 的差异似乎是非常错误的。如果您确信数据是正确的,那么考虑到静态差异降至 10C,这是我看到的气流差异,我怀疑散热器安装不当。
它不是。除非你对气流有一些严重的问题。或者其中一个冷却器坏了。温度会有所不同 - 但不会那么大(70 与 15 摄氏度)。
鉴于 15 度有多低,我会假设(a)您的传感器已关闭(您真的将服务器存放在那个凉爽的房间里吗?)。
无论出于何种原因,我还假设其中一个 CPU 根本没有工作。
小的差异是正常的。一些更大的可能是(我想到了气流)。但在这里我们谈论一个是冷的。
这可能是冷却或负载不均匀(鉴于温度差异,您的情况可能是负载不均匀)。您应该使用 prime95 之类的东西均匀地加载所有内核,看看温度是否仍然变化。如果没有,那么您需要平衡虚拟机,检查您的应用程序是否为多线程且繁忙。如何做到这一点取决于您的软件和个人工作量,因此实际上超出了问题的范围。请记住,如果您没有足够的负载来顶出单个 cpu/核心,那么这样做并没有真正的优势,实际上您的 VM 可能会故意避免使用第二个 cpu,以便它可以在多个 CPU 上进入省电模式-cpu 系统。
如果你把它缩小到冷却。高达 10C 的微小差异可能太少(或太多!)导热膏。较大的差异表明 CPU 冷却器之间存在重大问题或差异。可能是气流受阻,散热器松动等。
我不得不同意,有缺陷的温度。传感器,因为 15C 只有 59F!!!除非计算机位于极其寒冷的数据中心,否则我想环境空气温度会高于 59F!您尝试将VM分配给低温核心,看看是否有任何变化;如果不是,我会高度怀疑传感器有故障。
您可能还想查看
dmesg
(引导消息)的输出,看看那里是否有任何异常。