#powershell #cpu #performancecounter
#powershell #процессор #счетчик производительности
Вопрос:
Я пытаюсь получить с помощью сценария powershell процент процессора, используемого моим сервером. Я разрабатываю решение путем поиска в сети, но я все еще новичок и не уверен в реальном значении значения, которое я получаю с помощью этого решения. Я провел некоторое исследование в сети, но ответы все еще вызывают у меня больше сомнений.
Это мой сценарий :
function GetPercentageOfCpuUsed()
{
$value = Get-Counter "Processor(_Total)% Processor Time"
$Value = $value.CounterSamples[0].CookedValue
return $Value
}
Соответствует ли возвращаемое «значение» проценту процессора, используемого моим сервером во время запуска моего сценария powershell?
Ответ №1:
Processor(_Total)% Processor Time
это счетчик производительности, который показывает процент времени, в течение которого процессоры были заняты в течение интервала выборки (источник:http://technet.microsoft.com/en-us/library/cc938593.aspx). Например, в 4-ядерной системе один процессор со 100% загрузкой, а остальные процессоры, работающие в режиме полного простоя, должны давать вам 25%. Вы также можете отслеживать этот счетчик в реальном времени с помощью монитора производительности MMC Windows, чтобы получить представление о его поведении. Согласно статье Technet выше, этот показатель также совпадает с показателем использования ЦП в диспетчере задач.
Комментарии:
1. итак, должен ли я умножать число, которое я получаю из get-counter, на имя ядер, которые у меня есть? число get-counter, похоже, полностью равно . это постоянно дает мне диапазон от 1-3%, но диспетчер задач показывает около 20-30%, что не имеет никакого смысла, почему ни в одном другом источнике не указано, как вычислять с помощью номера get-counter