问题描述
是否有人使用 WMI 在 cpu 超过阈值时发出警报?
这是我正在使用的查询:
SELECT * FROM __InstanceModificationEvent WITHIN 600 WHERE TargetInstance ISA 'Win32_Processor' AND TargetInstance.LoadPercentage > 95
我正在使用 sys.dm_os_ring_buffers 将结果与此进行比较;我最近收到了 WMI 的警报,但是当我检查 sys.dm_os_ring_buffers 中的即时历史记录时,cpu 几乎没有达到 50% 我一直在网上搜索 wmi 的工作原理,而不仅仅是复制粘贴代码。
谢谢
解决方法
我有一个 4 核 VM。因此,WMI 查询返回每个核心的结果,而 sys.dm_os_ring_buffers 是平均值。我在 Powershell 中运行以下命令来确定这一点。
PS C:\Users\Administrator> get-wmiobject win32_processor |选择负载百分比
(((Get-WmiObject win32_processor | 选择 LoadPercentage).LoadPercentage) | Measure-Object -Average).Average