WMI 性能计数器查询问题

Posted

技术标签:

【中文标题】WMI 性能计数器查询问题【英文标题】:WMI Performance counter Query issues 【发布时间】:2010-08-19 14:47:29 【问题描述】:

有没有办法通过 C# 中的 WMI 进行查询,就像使用 System.Diagnostics.PerformanceCounter 类一样?

简单地说,我怎样才能向它传递一个像\\localhost\Processor(0)\% Processor Time 这样的字符串,它会为我构建正确的 WMI 查询?

我在一个遗留程序的平面文件中有大量计数器列表,我想将它移动到一个服务,该服务只在平面文件中运行并获取值。

【问题讨论】:

【参考方案1】:

您可以使用 WMI Performance Class Counters。这方面的一个例子是轮询 PerfDisk_LogicalDisk

ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk");
foreach (ManagementObject service in mos.Get())

    foreach (PropertyData data in service.Properties)
    
        Console.WriteLine("0 1", data.Name, data.Value);
    

【讨论】:

以上是关于WMI 性能计数器查询问题的主要内容,如果未能解决你的问题,请参考以下文章