3

Мне нужно среднее использование процессора за последние 15 минут. Мне нужно значение из командной строки или в PowerShell.

Сохраняет ли Windows скользящее среднее значение загрузки ЦП, например, за последние 15 минут? (в основном аналогично тому, как вы набираете "uptime" в Linux и получаете скользящее среднее значение загрузки процессора за последние 1, 5 и 15 минут). Если нет, какие есть другие варианты, чтобы получить это значение, или я должен использовать совершенно другой подход к мониторингу того, подвергался ли мой сервер в среднем значительным нагрузкам за последние 15 минут?


(Я знаю очень неэффективный способ сделать это: записать на диск, а затем прочитать журнал и вычислить среднее значение вручную. Примерно как то так (PowerShell):

# Initialize a perf counter
logman.exe create counter DashboardCpuTime -c "\processor(_total)\% processor time" -a --cnf --v -f bincirc -max 1 -o "c:\perflogs\DashboardCpuTime.blg" -si 00:00:10
logman.exe start DashboardCpuTime


# Get the average value by stopping, reading the log, calculating the average in PowerShell, and starting again
logman.exe stop DashboardCpuTime
(Import-Counter -Path "c:\perflogs\DashboardCpuTime.blg" -Counter @("\processor(_total)\% processor time") | ForEach-Object { $_.CounterSamples.CookedValue } | Measure-Object -Average).Average
logman.exe start DashboardCpuTime

но я не удовлетворен накладными расходами и сложностью этого, а также тем фактом, что выборки, взятые каждые 10 секунд, все еще являются мгновенными значениями, а не 10-секундными средними значениями)

0