“Win32_PerfFormattedData_PerfOS_Processor”查询无效

Posted

技术标签:

【中文标题】“Win32_PerfFormattedData_PerfOS_Processor”查询无效【英文标题】:Invalid query on "Win32_PerfFormattedData_PerfOS_Processor" 【发布时间】:2021-05-24 14:40:52 【问题描述】:

我的软件(具有管理员权限)通过 WMI 定期执行以下查询以了解 CPU 的状态:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfOS_Processor");
ManagementObjectCollection collection = searcher.Get();

突然(意味着在 个月 之后,searcher.Get() 的结果始终可用)命令开始坐下并在超时后抛出“无效查询”异常。在这种情况发生之前,我无法说出机器发生了什么变化。

我用工具wbemtest测试确认了这个错误:

错误每次都会发生,即使在重新启动后也是如此。如何调试?

系统为 Windows 10 x64 IoT Enterprise v1607。

【问题讨论】:

【参考方案1】:

解决方案在this article中解释。

无论如何,我仍然不明白计数器可能会损坏的原因。对此有何评论?

【讨论】:

【参考方案2】:

我在一台与网络分离的 Windows 7 机器上遇到了这个问题,并且由于各种原因需要保留。

起初我认为这是一个管理问题(程序以普通用户身份运行),因为系统事件查看器错误 2011 暗示了这一点。

但是,它是这样修复的:

lodctr /r

我不完全明白为什么,但这篇文章是我的来源:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4d574e10-17f5-4599-95d6-2492ede3cfef/wmi-query-from-net-application-cause-2011-error-event?forum=netfxbcl

【讨论】:

以上是关于“Win32_PerfFormattedData_PerfOS_Processor”查询无效的主要内容,如果未能解决你的问题,请参考以下文章