【问题标题】:How to get the temperature of motherboard of a PC (and other hardware statistics)?如何获取 PC 主板的温度(和其他硬件统计信息)?
【发布时间】:2010-09-12 12:30:40
【问题描述】:

有谁知道如何获取当前主板、处理器或 HD 温度统计数据?
在 GNU/Linux 中,我知道我可以使用 hddtemp 或 sensord 之类的东西来获取信息,然后解析它……但在 Windows 中:我该怎么做?而且,可以使用 C# 或 Java 或任何其他高级编程语言来完成吗?
谢谢!

【问题讨论】:

    标签: java statistics hardware temperature


    【解决方案1】:

    我认为,当正确的配置到位时,它可以优于 Windows 的配置。

    http://www.lm-sensors.org/ 完成所有工作。我把它连接到 RRDgraph & Munin,我在将近一年的时间里监测我房间的温度,并得到了漂亮的图表。还显示我的 CPU 风扇正在慢慢磨损,我可以看到线长时间倾斜并知道它正在退出。

    http://www.lm-sensors.org/browser/lm-sensors/trunk/doc/developers/applications 是你想要的。

    (哦等等,我失败了。你在 *nix 上想在 Windows 上做这件事,我的错 :( ..um.. 好吧。祝你好运。也许我会把这个留在这里以防有人找到你的帖子在寻找相反的时候)

    当我使用 Windows 时,我记得的只有 Ye' Old Motherboard Monitor ( Discontinued )。 维基文章说有speedfan,这看起来是你最好的选择。以编程方式,我想您必须找到硬件规格并挖掘 Windows API 和任意总线地址偏移的堆栈加载。

    【讨论】:

      【解决方案2】:

      温度和其他监控传感器的问题在于硬件级别没有通用协议,也没有允许使用通用 API 检索该信息的驱动程序。

      像已经提到的 SpeedFan 和 HWMonitor(来自 CPU-Z 实用程序的制造商)这样的软件通过精心编目各种传感器和总线控制器并实施相应的协议来工作,通常使用内核模式驱动程序来访问 SMBus 设备。

      要将此功能嵌入到您自己的软件中,您可以自己开发此功能(可能通过针对您的特定硬件进行定制来减少工作量,并使用 www.lm-sensors.org 中的 linux 代码作为参考)或购买实现它的商业图书馆。一个,由 HWMonitor 使用,可用here

      祝你好运

      【讨论】:

      • 您的第二个链接断开了。不过七年也不错。
      【解决方案3】:

      正如@AndrewJFord 所建议的,这些方法因供应商而异,实际上因部分而异,但如果可以的话,我会做一些概括。

      1. 据我所知,英特尔、AMD 和 IBM 的所有当前主流处理器都有板载热传感器,带有已知的暴露 API,用于读取这些数据。我不是这些 API 的专家,所以不知道它们有多相似,但如果 Intel 和 AMD 的 API 有那么大的不同,我会感到惊讶。如果我是你,我会搜索一个开源的“系统管理工具”(顺便说一下,有一些类似的写成 Apple Widgets)并看看他们是如何做到的。
      2. 主板变化很大,有些具有广泛的热传感器,有些则没有,而且所有主板都有相当不同的 API。我会先联系公司的支持人员,他们让你选择了主板。
      3. 总的来说,我相信只有非常高端的 15krpm SAS 磁盘具有内置热传感器,我知道一些中档系统在集线器的机箱上安装了传感器,并将其报告给主板。真的不知道如何获得这些信息,但我还是会先与上述问题相同的人交谈。

      现在我是 HP 的大用户,他们的所有工具包都由名为 Insight Management Agents 的工具进行检测,其中有适用于 Windows 和大多数 Linux 的版本。他们所做的是从所有传感器(proc、内存、主板、风扇、磁盘等)收集所有系统信息,并通过基于 SNMP 的轮询 API 或基于警报的 SNMP/SMTP/MAPI 接口公开这些信息。我敢说 IBM/Dell 等将有自己的同样优秀且功能相似的版本,但我不知道他们很抱歉。如果您的机器是“非品牌”/套件制造或您无法控制,那么我不知道有任何一种方法可以轻松获取所有这些信息。

      【讨论】:

      • 仅供参考,我所有的 SATA HDD 和 SSD(包括 SATA 和 nvme m.2)都有内部热传感器,即使是最便宜的也是如此。所以我猜你的第 3 点不再正确了。
      【解决方案4】:

      这将根据您的硬件而有所不同。 一旦您从硬件供应商处确定您的主板上是否有传感器, 您可能会考虑使用 SNMP 和 HOST-RESOURCE MIB。

      使用管理和监控工具下的添加/删除 Windows 组件向导来安装 SNMP。 然后,您应该能够使用标准系统管理软件(如 OpenView 或 Nagios)向您的 Windows 机器询问大量信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-19
        • 1970-01-01
        • 2014-12-23
        • 1970-01-01
        • 2010-10-28
        • 2011-06-09
        相关资源
        最近更新 更多