Я пытаюсь написать сценарий PowerShell для мониторинга использования ЦП в % процесса SQL Server. Я хотел бы делать снимки этого числа каждый день, чтобы мы могли отслеживать его с течением времени и следить за тенденциями.
Мои исследования в Интернете показали, что этот запрос WMI должен дать мне то, что я хочу:
Get-WmiObject -Query "SELECT PercentProcessorTime FROM win32_PerfFormattedData_PerfProc_Process WHERE Name='SqlServr'"
Когда я запускаю запрос WMI, я обычно получаю значение где-то между 30 -50%
Однако, когда я наблюдаю за процессом в мониторе ресурсов, он обычно в среднем использует менее 1% ЦП.
Я знаю, что запрос WMI просто возвращает моментальный снимок использования ЦП, а не среднее значение за длительный период времени, поэтому я знаю, что эти два показателя нельзя сравнивать напрямую. Тем не менее, я думаю, что моментальный снимок обычно должен быть менее 1%, поскольку средний показатель монитора ресурсов составляет менее 1%.
У кого-нибудь есть идеи, почему такое большое расхождение? И как я могу получить точное измерение использования ЦП для процесса?