Name of the process with highest cpu usage

前端 未结 8 1236
栀梦
栀梦 2021-01-18 08:05

I have a Samurize config that shows a CPU usage graph similar to Task manager.

How do I also display the name of the process with the current highest CPU usage per

8条回答
  •  余生分开走
    2021-01-18 08:34

    Building on Frederic's answer and utilizing the code at the bottom of the page here (for an example of usage see this post) to join the full set of processes gotten from Get-Process, we get the following:

    $sampleInterval = 3
    
    $process1 = Get-Process |select Name,Id, @{Name="Sample1CPU"; Expression = {$_.CPU}}
    
    Start-Sleep -Seconds $sampleInterval
    
    $process2 = Get-Process | select Id, @{Name="Sample2CPU"; Expression = {$_.CPU}}
    
    $samples = Join-Object -Left $process1 -Right $process2 -LeftProperties Name,Sample1CPU -RightProperties Sample2CPU -Where {$args[0].Id -eq $args[1].Id}
    
    $samples | select Name,@{Name="CPU Usage";Expression = {($_.Sample2CPU-$_.Sample1CPU)/$sampleInterval * 100}} | sort -Property "CPU Usage" -Descending | select -First 10 | ft -AutoSize
    

    Which gives an example output of

    Name                  CPU Usage
    ----                  ---------
    firefox        20.8333333333333
    powershell_ise 5.72916666666667
    Battle.net               1.5625
    Skype                    1.5625
    chrome                   1.5625
    chrome         1.04166666666667
    chrome         1.04166666666667
    chrome         1.04166666666667
    chrome         1.04166666666667
    LCore          1.04166666666667
    

提交回复
热议问题