Find the Heaviest CPU Consumers with PowerShell

Rank running processes by CPU time using Get-Process and Sort-Object.

WindowsProcessesperformancecpupowershellLow risk
Run `Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU` to list the top 10 processes by accumulated CPU time.

01Command

Command
$ Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 Name, Id, CPU

02What it does

The CPU property of a process object counts total processor seconds the process has used since it started, so long-running busybodies climb to the top of a descending sort. Sort-Object CPU -Descending ranks every process, and Select-Object -First 10 trims the list to a readable size. For live per-second CPU percentages, Task Manager or Get-Counter is the better tool.

03Risk

RiskLow risk
!Warning: CPU is cumulative since launch — a process running for days can top the list without currently straining the CPU.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • Get-Process — List running processes
    SS64 · technical · 2026-09-17
    Evidence: Lists the CPU property among Get-Process output fields and shows pipeline usage with Sort-Object/Select to filter and rank processes.
  • Get-Process
    Microsoft Learn · vendor-doc · 2026-09-17
    Evidence: Get-Process returns process objects including the CPU property (processor time used); the examples show piping to Sort-Object and Select-Object for ranking, e.g. Sort-Object WS / select the first N objects.

Last verified: 2026-09-19 · Category: System & Settings

06Related solutions