2016-09-26 9 views
0

Я хочу получить% использования процессора (не процессорное время) для конкретного процесса с помощью команды powershell.Получить CPU% от конкретного процесса с помощью powershell

Пример: (Windows 8 Task Manager) enter image description here

Я хочу, чтобы получить, что 2.9% с командой.

+0

См. [Как получить использование ЦП и память, потребляемую определенным процессом в сценарии powershell] (https://stackoverflow.com/a/34844682) – wOxxOm

+0

'Get-Process' дает количество процессорного времени, которое этот процесс использовал на всех процессорах, и я не считаю, что это то же самое, что и использование процессора% – galahad

+0

. Я только смотрел на первый ответ. Понял. Спасибо – galahad

ответ

-1
Get-Process -Name PowerShell | Select CPU 

Это вы что искали? Или что-то большее на основе мониторинга?

param 
(
    [String] 
    [Parameter(Mandatory)] 
    $Title 
) 

do 
{ 
    $process = Get-Process -Name $Title 
    $process 
    Start-Sleep -Seconds 1 
} while ($process) 
+0

'Get-Process' дает количество процессорного времени, которое процесс имеет используется на всех процессорах, и я не ищу этого. Я хочу использовать процессор%. – galahad

0

Вот правильный ответ, который является поддержка так, то у вас есть несколько processs с таким же именем https://stackoverflow.com/a/34844682/483997

# To get the PID of the process (this will give you the first occurrance if multiple matches) 
$proc_pid = (get-process "slack").Id[0] 

# To match the CPU usage to for example Process Explorer you need to divide by the number of cores 
$cpu_cores = (Get-WMIObject Win32_ComputerSystem).NumberOfLogicalProcessors 

# This is to find the exact counter path, as you might have multiple processes with the same name 
$proc_path = ((Get-Counter "\Process(*)\ID Process").CounterSamples | ? {$_.RawValue -eq $proc_pid}).Path 

# We now get the CPU percentage 
$prod_percentage_cpu = [Math]::Round(((Get-Counter ($proc_path -replace "\\id process$","\% Processor Time")).CounterSamples.CookedValue)/$cpu_cores) 
-1

Get-Process -Name системы | выберите CPU

Получить время процессора в 2 экземплярах как (cpu2-cpu1)/(t2-t1) * 100. Вы получите значение ЦП в%.