2014-11-24 2 views
-1

Я написал следующий скрипт для Windows Server 2012 & Windows 7, который отображает нагрузку на процессор с использованием Get-WmiObject -Class Win32_PerfFormattedData_PerfOS_Processor. Он работает достаточно хорошо, а также отображает нагрузку на консоль, но когда я продолжаю проверять выходы консоли с монитором производительности (% процессорного времени), он не подходит для вывода на консоль. Является ли мой скрипт для проверки нагрузки на процессор правильной? Как я могу суммировать свой скрипт с монитором производительности?Как получить нагрузку на ядра или процессор, используя скрипты powershell?

while(1) 
{ 
$cpucores = get-wmiobject win32_perfformatteddata_perfos_processor 
$currenttime = get-date | out-file report.txt -append 
write-host 
write-host "CPU Cores individually usage Monitoring" 
write-host $currenttime 
for ($i=0; $i -lt $cpucores.count ; $i++) 
    { 
    if($i -eq $cpucores.count-1) 
    { 
    #write-host 
    $value=$cpucores[$i].percentprocessortime 
    write-host "Total CPU " $value"% usage" 
    write-output "Total CPU $value % usage" >> report.txt 
    write-output "..............................................................." >> report.txt 

     } 
    else 
     { 
     $load_value=[double]$cpucores[$i].percentprocessortime 
     write-host "CPU Core"$i $load_value "% usage" -foregroundcolor green 
     write-output "CPU Core $i $load_value % usage" >> report.txt 

     } 
    } 
    start-sleep -seconds 1 

} 

ответ

1

Считаете ли вы встроенным командлетом Get-Counter?

$counter = Get-Counter "\processor(*)\% processor time" 
$counter.countersamples 

Я думаю, что у вас будут лучшие результаты с этим.

Смежные вопросы