我正在寻找一种通用方法来查询 Windows PC (XP/Vista/7/Server 2k3) 网络的当前功耗 - 理想情况下以瓦特为单位!我确信这种东西是内置在 WMI 中的,但它可能只能通过制造商专有的 WMI-add-on 获得——我想避免这种情况。我只是找不到任何东西。
我没有停留在 WMI 上,只是一些查询盒子当前电源使用情况的机制。
如果有人找到查询此问题的方法,我将编写一个应用程序来进行一些很好的监控并将其发布回此处以供社区使用。
麦克风
我正在寻找一种通用方法来查询 Windows PC (XP/Vista/7/Server 2k3) 网络的当前功耗 - 理想情况下以瓦特为单位!我确信这种东西是内置在 WMI 中的,但它可能只能通过制造商专有的 WMI-add-on 获得——我想避免这种情况。我只是找不到任何东西。
我没有停留在 WMI 上,只是一些查询盒子当前电源使用情况的机制。
如果有人找到查询此问题的方法,我将编写一个应用程序来进行一些很好的监控并将其发布回此处以供社区使用。
麦克风
您可以通过 IPMI 从最新一代的服务器获取此信息,前提是它们具有带外管理接口,例如 ILO (HP)、DRAC (Dell)、RSA (IBM)、Fujitsu Siemens (IRMC)。这些主要是旧服务器中的可选附加功能,但最近的趋势是至少在大多数中端服务器中包含基本版本。更基本的基板管理控制器 (BMC) 接口通常也会为您提供相当不错的功耗数字,并且这种类型的功能在很长一段时间内一直是大多数供应商的服务器硬件的标准,尽管它通常必须明确如果要使用带外功能,则启用。
IPMI 的一个问题是您需要某种系统管理控制台才能充分利用它。英特尔提供了一些简单的命令行工具,它们可以做你想做的事情,如果你想推出自己的东西,它们有一些演示代码。
在完全配置的服务器上,如果您安装了相应供应商的管理代理,您可以通过 WMI\SNMP 对 BMC 计数器进行带内访问(它为您提供功耗、机箱传感器的温度、风扇速度和一些 cpu 数据) . 这样做的问题是没有标准的目标计数器供您查询。
在客户端方面,Intel vPro (AMT) 和启用 AMD ASF 的商业客户端对 IPMI 有一些支持。同样,您将不得不在目标系统上配置这些管理功能,这可能会非常令人头疼。
这是某些系统管理控制台上提供的一项功能 - 如果您想玩一个,那么戴尔的 DMC 是免费下载的,它将为您提供所有这些,适用于相当广泛的服务器和客户端,因为它不是特别限于支持戴尔硬件。目前它处于早期发布状态,但它是成熟的系统管理软件,因此需要一些工作才能让它做你想做的事。
您将很难找到通用方法,因为并非每台机器都提供此信息。也就是说,许多大制造商(惠普、IBM、戴尔等)确实在他们的机器内部提供了仪器以允许此类信息,但你必须安装他们的工具并从这些工具中访问这些信息,他们赢了不都是一样的。
有 2 个 WMI 类可以提供起点,Win32_CurrentProbe和Win32_VoltageProbe,但是它们都依赖于硬件设备来提供相关数据。
我不知道你的问题有什么更好的解决方案。操作系统,无论是通过 WMI 子系统还是任何其他方法,都需要从某些硬件中获取这些数据,而据我所知,常规 PC/服务器硬件无法提供这些数据。
一些 HP 和 IBM 可以通过带外管理单元(例如 ILO 或 RSA)给出使用功率的真实指示。他们将提供驱动程序来查询这个额外的硬件。
或者,您可以使用外部 APC 设备来测量电路的电流消耗。
如果您有预算,也许带外解决方案会更好。有电源板或智能 PDU 可从 APC 等供应商处获得,它支持互联网,可以报告单个插座的电源使用情况,并提供远程电源管理。好处是它对所有机器都是通用的,但这需要你让所有机器都靠近,以免浪费套接字。