服务器和工作站功耗 - 通过编程/脚本获取

服务器和工作站功耗 - 通过编程/脚本获取

我正在寻找一种通用方法来查询 Windows PC(XP/Vista/7/Server 2k3)网络的当前功耗 - 理想情况下以瓦特为单位!我确信这种东西内置在 WMI 中,但它可能只能通过制造商专有的 WMI 插件获得 - 我想避免这种情况。我什么也找不到。

我并没有被困在 WMI 上,只是一些查询盒子当前电量使用情况的机制。

如果有人找到查询此问题的方法,我会编写一个应用程序来进行一些很好的监控,并将其发布回社区。

麦克风

答案1

您可以通过 IPMI 从大多数最新一代服务器获得此功能,前提是它们具有带外管理接口,例如 ILO(HP)、DRAC(Dell)、RSA(IBM)、Fujitsu Siemens(IRMC)。这些大多是旧服务器中的可选附加功能,但最近的趋势是至少在大多数中端服务器中包含一个基本版本。更基本的基板管理控制器 (BMC) 接口通常也会为您提供相当不错的功耗数字,这种类型的功能在相当长的一段时间内一直是大多数供应商的服务器硬件的标准配置,尽管如果您想使用带外功能,通常必须明确启用它。

IPMI 的一个问题是,您需要某种系统管理控制台才能充分利用它。英特尔提供了一些简单的命令行工具,它们可以满足您的需求,如果您想自己动手,它们还有一些演示代码。

在完全配置的服务器上,如果您安装了相应供应商的管理代理,您可以通过 WMI\SNMP 带内访问 BMC 计数器(它会为您提供功耗、机箱传感器的温度、风扇速度和一些 CPU 数据等)。但问题是没有设置标准的目标计数器供您查询。

在客户端方面,Intel vPro (AMT) 和 AMD ASF 启用的商业客户端对 IPMI 有一些支持。同样,您必须在目标系统上配置这些管理功能,这可能相当令人头疼。

此功能在某些系统管理控制台上可用 - 如果您想试用,那么戴尔的 DMC 是免费下载的,它将为您提供适用于各种服务器和客户端的所有这些功能,因为它并不仅限于支持戴尔硬件。目前,它处于早期发布状态,但它是功能齐全的系统管理软件,因此需要进行一些工作才能让它执行您想要的操作。

答案2

您将很难找到通用方法,因为并非每台机器都提供此信息。尽管如此,许多大型制造商(HP、IBM、戴尔等)确实在其机器内提供了仪器以提供此类信息,但您必须安装他们的工具并从这些工具中访问此信息,而且它们并不完全相同。

答案3

有 2 个 WMI 类可以提供起点,Win32_CurrentProbeWin32_电压探测器,但它们都依赖于硬件设备来提供相关数据。

我不知道有没有更好的方法可以解决您的问题。操作系统(无论是通过 WMI 子系统还是其他任何方法)都需要从某些硬件获取此数据,而据我所知,常规 PC/服务器硬件无法提供此数据。

答案4

如果您有预算,带外解决方案可能更好。APC 等供应商提供电源板或智能 PDU,它们支持互联网,可以报告各个插座的用电量,并提供远程电源管理。优点是它适用于所有机器,但这需要您将所有机器都放在附近,以免浪费插座。

相关内容