“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”查询无效的主要内容,如果未能解决你的问题,请参考以下文章