Я хочу получить значение, которое отображается в диспетчере задач для любого процесса в столбце ЦП в PowerShell.
Я пытался с помощью
Get-Process ProcessName | Select-Object -Property CPU
но это только возвращает потраченное время.
Я хочу получить значение, которое отображается в диспетчере задач для любого процесса в столбце ЦП в PowerShell.
Я пытался с помощью
Get-Process ProcessName | Select-Object -Property CPU
но это только возвращает потраченное время.
Попробуйте использовать команду Get-Counter
которая извлекает данные из монитора производительности системы. Для вашего примера это будет выглядеть так:
# ~> Get-Counter "\Process(ProcessName*)\% Processor Time" | select -expand countersamples
Пример с использованием Chrome:
# ~> Get-Counter "\Process(chrome*)\% Processor Time" | select -expand countersamples
Path InstanceName CookedValue
---- ------------ -----------
\\machinename\process(chrome#7)\% processor time chrome 0
\\machinename\process(chrome#6)\% processor time chrome 0
\\machinename\process(chrome#5)\% processor time chrome 0
\\machinename\process(chrome#4)\% processor time chrome 0
\\machinename\process(chrome#3)\% processor time chrome 0
\\machinename\process(chrome#2)\% processor time chrome 0
\\machinename\process(chrome#1)\% processor time chrome 0
\\machinename\process(chrome)\% processor time chrome 3.10141153081511
Вот несколько копируемых примеров процессов фильтрации с Get-Counter
и Get-WmiObject
.
Например, чтобы получить 10 лучших процессов по загрузке процессора:
powershell "(Get-Counter '\Process(*)\% Processor Time').Countersamples | Sort cookedvalue -Desc| Select -First 10 instancename, cookedvalue"
Или с более чистым форматированием:
powershell "(Get-Counter '\Process(*)\% Processor Time').Countersamples | Sort cookedvalue -Desc | Select -First 10 instancename, @{Name='CPU %';Expr={[Math]::Round($_.CookedValue)}}"
powershell "gwmi Win32_PerfFormattedData_PerfProc_Process | Sort PercentProcessorTime -desc | Select -first 7 Name, PercentProcessorTime, IOReadBytesPersec, IOWriteBytesPersec, WorkingSet | ft -autoformat"