2009-11-27 51 views
2

我正在构建一个C#监视器应用程序,它使用WMI来获取远程计算机的一些性能详细信息。什么是一些很好的WMI查询来获取有用的统计数据,例如CPU负载,RAM使用率,HDD可用空间等。什么是一些常见的WMI查询

例如,可以通过查询“SELECT * FROM”从属性“LoadPercentage” Win32_Processor”。

有什么其他一些有用的属性&查询?

+0

我喜欢查询系统的正常运行时间,但这是我的Linux偏见。 – 2009-11-27 07:41:17

回答

2

我觉得这有点复杂,特别是推荐几个类,因为WMI很广泛,取决于您希望获取的信息类型。

我的建议是,你看到以下链接。

+0

这就是问题所在,它非常广泛,很难找到相关数据。我正在寻找诸如cpu load/ram usage/hdd free space等统计信息,这些信息几乎可以反映任何计算机用户的理解。性能相关的统计。甚至一般信息。计算机正常运行时间,网络使用情况,当前时区/计算机上的时钟时间。任何可以轻松解释并可能用于诊断或一般监控的东西。 – mike 2009-11-30 03:47:41

1

几个类用于你要求的东西。我认为一个好的开始就是将你的(大部分)静态类从你的性能类中分离出来。

静态

  • 计算机系统 - 的Win32_ComputerSystem
  • 操作系统 - Win32_OperatingSystem
  • 处理器信息 - Win32_Processor
  • 硬盘 - Win32_DiskDrive
  • 磁盘分区 - Win32_DiskPartition
  • 逻辑磁盘 - 的Win32_LogicalDisk
  • 逻辑磁盘到分区 - Win32_LogicalDiskToPartition
  • 记忆 - Win32_PhysicalMemory,Win32_PhysicalMemoryArray
  • 网 - Win32_NetworkAdapter(这个类,如果调用过于频繁较高的CPU点球),Win32_NetworkAdapterConfiguration的

性能计数器

  • 处理器利用率 - Win32_PerfRawData_PerfOS_Processor
  • 内存利用率 - Win32_PerfRawData_PerfO S_Memory
  • 网络利用率 - Win32_PerfRawData_Tcpip_NetworkInterface

还有很多,但这些将涵盖你所要求的。

0

您也可以使用Win32_Products。

这给你机器上的所有istalled软件。您可以使用WMI修复/卸载这些产品。在远程机器上非常有用。

+0

该课程确实有很高的性能损失。在“HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \”查询注册表项是一个不错的选择。 – kevmar 2015-01-20 21:22:25