【问题标题】:WMI query returns multiple ManagementObjectsWMI 查询返回多个 ManagementObjects
【发布时间】:2012-06-19 10:18:11
【问题描述】:

我正在使用 .NET 控制台应用程序来收集系统的性能数据。对于其中一个计数器,我使用如下查询:

SELECT CurrentConnections, ConnectionAttemptsPersec
      FROM Win32_PerfFormattedData_W3SVC_WebService

此查询为我的系统返回四个管理对象。
Win32_PerfFormattedData_W3SVC_WebService 是否返回每个处理器内核的数据?我的系统中有四个核心处理器。如果不是,查询有什么问题?

【问题讨论】:

    标签: c# .net console wmi


    【解决方案1】:

    此查询为我的系统返回四个管理对象。

    那么您在 IIS 中配置了四个网站?

    (查看 Perf Mon 的 Web 服务对象 - 我相信它是同一个计数器对象 - 我看到三个实例:_Total、web-site-1 和 web-site-2(当然还有 <All instances>)。

    检查Name 属性也应该有助于区分它们。

    【讨论】:

    • 如何找到实例?我正在使用“ManagementObjectSearcher”来执行 WMI 查询。在我的 IIS 中,我配置了超过 4 个网站。
    • @RuchitRami 建议在使用 C#(System.Management 类型)或 C++(以及 WMI COM API)之前使用 PowerShell 的 Get-WmiObject(别名为 gwmi)等工具来优化您的查询。首先从命令行遍历所有可能性要容易得多。对于 .NET 代码中的性能计数器,System.Diagnostics.PerformanceCounter 几乎肯定更容易。
    猜你喜欢
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 2010-12-26
    相关资源
    最近更新 更多