【问题标题】:Issue with perfmon counter value using WMI query使用 WMI 查询的 perfmon 计数器值问题
【发布时间】:2012-05-05 11:30:31
【问题描述】:

我正在构建 EXE,并通过它获取应用程序的 perfmon 计数器,以使用 WMI 查询对其进行监控。我正在用我的本地机器测试它,似乎我的代码逻辑为我提供了一些计数器的错误值。

以下是我的其中一个计数器的代码 (CacheTotalHitRatio)

当我在我的系统中使用 perfmon exe 查看它时,它会显示一些不同的东西,如下所示。

我认为 CacheTotalHitRatio 是百分比,不应超过 100,但我的代码给出了更高的值。这里有什么问题还是我在这里做错了什么?

如果有人对 WMI 查询有经验,请告诉我。

提前致谢。

【问题讨论】:

  • 您正在使用带有原始值的性能计数器 (Win32_PerfRawData_ASPNET_ASPNETApplications ),请尝试改用 Win32_PerfFormattedData_ASPNET_ASPNETApplications 类。
  • @RRUZ 嘿,非常感谢,它给了我正确的价值,但请告诉我这有什么区别?我也使用与 Win32_PerfRawData_ASPNET_ASPNET、Win32_PerfRawData_W3SVC_WebService 等其他计数器相同的计数器,所以我需要替换它吗?请写下答案,以便我可以标记为答案:) 再次感谢

标签: c#-4.0 wmi performancecounter wmi-query perfmon


【解决方案1】:

存在两种Performance Counter Classes

Win32_PerfRawData_ASPNET_ASPNETApplications 类返回 原始性能 计数器值,如果您使用 Win32_PerfFormattedData_ASPNET_ASPNETApplications 类,这些值必须经过转换(根据属性和类使用公式)才能显示相反,您将获得计算的数据,就像在性能监视器中显示的那样。

【讨论】:

  • 太棒了!感谢您的回答,它确实帮助我解决了我的问题。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 2011-01-12
相关资源
最近更新 更多