Command To Check CPU Utilization In Windows 11/10

CPU utilization is one of the most important factors that determine the overall performance of your Windows computer. The CPU (Central Processing Unit) is often called the “brain” of your computer because it processes all the instructions required to run applications and system operations. When your CPU usage is too high, it can slow down your computer, cause lag, or even make programs crash.

Windows provides several built-in tools and commands to help users check and monitor CPU usage in real-time. Whether you are a system administrator, a power user, or just someone trying to troubleshoot performance issues, knowing how to check CPU utilization through commands can save you a lot of time.

In this guide, we’ll explore various commands to check CPU utilization in Windows, including Command Prompt, PowerShell, and Performance Monitor, along with additional insights and troubleshooting tips.

Why You Should Monitor CPU Utilization

Monitoring CPU usage helps you understand how much processing power your system is currently using. Here are some reasons why it’s important:

  • Identify system bottlenecks: High CPU usage can indicate background processes or applications consuming excessive resources.
  • Optimize performance: Monitoring helps in determining which apps slow down your computer.
  • Prevent overheating: Continuous high CPU utilization increases temperature and can damage hardware over time.
  • System maintenance: Useful for IT professionals to monitor system health on multiple machines.
  • Troubleshooting slow performance: Helps pinpoint which processes are responsible for lag.

By learning a few simple commands, you can quickly identify and control these performance issues.

1. Using Tasklist Command in Command Prompt

The tasklist command is one of the simplest ways to view currently running processes and their CPU usage. Although it doesn’t directly show CPU percentages, it provides useful information about processes.

Steps:

  1. Open Command Prompt.
    • Press Windows + R, type cmd, and hit Enter.
  2. Type the following command: tasklist
  3. Press Enter.

You’ll see a list of all running processes along with their PID (Process ID), Session Name, Session Number, and Memory Usage.

To view CPU usage details, you can use tasklist with /v (verbose) parameter:

tasklist /v

This displays more detailed information including the CPU time used by each process.

Example Output:

Image Name                     PID Session Name     Session#    Mem Usage   Status          CPU Time
chrome.exe                     4520 Console         1           182,000 K   Running         0:02:15
explorer.exe                   2300 Console         1           110,000 K   Running         0:01:30

Although this shows cumulative CPU time, it gives a good overview of which processes are consuming more CPU over time.

2. Using WMIC Command (Windows Management Instrumentation Command-Line)

The WMIC tool provides detailed system information and allows you to query CPU usage statistics.

Steps:

  1. Open Command Prompt with Administrator privileges.
  2. Type this command: wmic cpu get loadpercentage
  3. Press Enter.

Output Example:

LoadPercentage
25

This indicates that the CPU is currently being used 25%. The load percentage gives an instant snapshot of your CPU utilization.

You can also use WMIC to get additional details:

wmic cpu get name, caption, deviceid, numberofcores, maxclockspeed, status

This command lists useful information like CPU model, speed, and number of cores.

Advantages of WMIC:

  • Simple to use and provides direct CPU utilization data.
  • No third-party tools required.
  • Works well for scripting and automation.

Note:

Starting from Windows 11 22H2, WMIC is deprecated, but it still works on most systems as of 2025.

3. Using PowerShell to Check CPU Utilization

PowerShell provides more advanced and scriptable ways to monitor CPU performance. It’s ideal for IT professionals or users who want to automate system monitoring.

Command 1: Using Get-Counter

Get-Counter '\Processor(_Total)\% Processor Time'

Explanation:

  • This command queries the CPU performance counter to show the current percentage of processor usage.
  • The _Total instance gives the average CPU load across all cores.

Example Output:

Timestamp                 CounterSamples
---------                 ---------------
10/22/2025 09:30:10 AM    \\DESKTOP\Processor(_Total)\% Processor Time : 32.453

This means that currently, your system is using 32.45% of CPU capacity.

Command 2: Monitor CPU Usage Continuously

If you want real-time monitoring, you can run:

Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 2 -MaxSamples 10

This updates CPU usage every 2 seconds for 10 intervals.

Command 3: Using Get-Process

You can also list individual processes consuming CPU:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

This displays the top 10 processes consuming the most CPU.

Example Output:

Handles  NPM(K)    PM(K)    WS(K)    CPU(s)   Id   ProcessName
-------  ------    -----    -----    ------   --   ------------
   890    45,000  120,000  180,000   250.12   4500 chrome
   640    38,000   85,000  120,000   110.55   3200 explorer
  • Provides precise CPU statistics.
  • Allows continuous monitoring.
  • Supports automation and scripting.
  • Offers filtering and sorting options.

4. Using Typeperf Command

Another useful command is typeperf, which records performance counters and displays them in real-time.

Command:

typeperf "\Processor(_Total)\% Processor Time"

Output Example:

"10/22/2025 09:35:40.234","12.653821"
"10/22/2025 09:35:41.234","15.764321"
"10/22/2025 09:35:42.234","32.902001"

Each line shows CPU usage percentage at a specific timestamp. To stop the command, press Ctrl + C.

Save Output to a File:

typeperf "\Processor(_Total)\% Processor Time" -sc 10 > cpu_log.txt

This records 10 samples and saves the result to cpu_log.txt for analysis later.

Advantages:

  • Excellent for continuous monitoring and logging.
  • Can be automated for scheduled performance reports.
  • Simple and lightweight.

5. Using Systeminfo Command

The systeminfo command does not show CPU utilization in real-time, but it’s helpful to get CPU and system specifications that can help you interpret performance data.

Command:

systeminfo | findstr /C:"Processor"

Example Output:

Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 165 Stepping 5 GenuineIntel ~2904 Mhz

This gives you details about the installed CPU. You can pair this command with others to analyze performance.

6. Using Performance Monitor (PerfMon) Command

You can also open the Performance Monitor tool using a simple command.

Command:

perfmon /res

This opens the Resource Monitor window where you can see live CPU, memory, disk, and network usage in a graphical interface.

Alternatively, you can start Performance Monitor directly:

perfmon

Once open, navigate to:
Performance Monitor → Add Counter → Processor → % Processor Time → _Total

This displays real-time CPU utilization graphs.

Advantages:

  • Graphical and detailed.
  • Allows long-term monitoring.
  • Helps analyze performance trends.

7. Using Windows Built-In Tools Along with Commands

While commands are powerful, combining them with graphical tools gives better results.

Task Manager Shortcut:

  • Press Ctrl + Shift + Esc → Go to Performance Tab → Check CPU graph.

Resource Monitor:

  • Run: resmon → Go to the CPU tab for detailed analysis.

Why Combine Tools:

  • Command-line tools provide raw data.
  • GUI tools help visualize performance.
  • Perfect combination for troubleshooting.

8. Using PowerShell Script to Log CPU Usage Over Time

You can create a simple PowerShell script to log CPU usage continuously.

Example Script:

while ($true) {
  $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
  $cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
  "$timestamp : $cpu" | Out-File -Append "C:\cpu_usage_log.txt"
  Start-Sleep -Seconds 5
}

This script logs CPU usage every 5 seconds into a text file. You can stop it anytime with Ctrl + C.

9. Checking CPU Utilization Remotely

You can also check CPU usage on a remote computer using PowerShell.

Command:

Get-Counter -ComputerName RemotePC '\Processor(_Total)\% Processor Time'

Replace RemotePC with the name or IP address of the target computer.
Make sure PowerShell remoting is enabled using:

Enable-PSRemoting

This is very useful for network administrators monitoring multiple systems.

Common Reasons for High CPU Usage

Sometimes, you’ll notice consistently high CPU utilization. Here are a few reasons:

  • Too many background processes.
  • Malware or viruses.
  • Outdated drivers.
  • Software bugs or memory leaks.
  • Windows Update service running in the background.
  • High browser tab usage (Chrome or Edge).
  • Heavy applications like video editors or games.

Monitoring CPU utilization using the above commands can help you pinpoint these causes quickly.

Tips to Reduce High CPU Utilization

If you notice high CPU usage, try the following tips:

  • Close unnecessary background apps.
  • Disable startup programs using Task Manager → Startup tab.
  • Update your drivers and Windows version.
  • Run a full antivirus scan.
  • Check for software updates.
  • Use Power Options to enable High Performance mode.
  • Clean temporary files with Disk Cleanup.
  • Restart your PC occasionally to clear stuck processes.

Automating CPU Monitoring with Task Scheduler

You can schedule PowerShell commands to check CPU usage automatically.

Steps:

  1. Open Task Scheduler.
  2. Click Create Basic Task.
  3. Name it “CPU Monitor.”
  4. Set it to run daily or hourly.
  5. In Action, choose Start a Program and enter: powershell.exe
  6. Add arguments: -Command "Get-Counter '\Processor(_Total)\% Processor Time' | Out-File -Append C:\cpu_log.txt"

This will automatically log CPU usage periodically.

Check CPU Utilization with PowerShell and Format Output

To display data neatly:

Get-Counter '\Processor(_Total)\% Processor Time' | Format-Table -AutoSize

Or save data in a CSV file:

Get-Counter '\Processor(_Total)\% Processor Time' | Export-Csv C:\cpu_data.csv

You can later open this in Excel to analyze CPU performance trends.

Advanced Monitoring Using Performance Logs

For deeper monitoring:

logman create counter CPU_Monitor -c "\Processor(_Total)\% Processor Time" -si 00:00:05 -o "C:\CPU_Usage_Log"
logman start CPU_Monitor

This creates a performance log that records CPU usage every 5 seconds.
To stop logging:

logman stop CPU_Monitor

Third-Party Alternatives (Optional)

If you prefer graphical tools, you can also use:

  • CPU-Z (detailed CPU info)
  • HWMonitor (temperature + load)
  • Process Explorer (by Microsoft)

These tools provide visual performance data along with real-time CPU utilization graphs.

Conclusion

Checking CPU utilization through commands in Windows is an efficient and powerful way to monitor system performance. Whether you’re using WMIC, PowerShell, or typeperf, these tools allow you to view real-time CPU statistics, automate performance tracking, and troubleshoot issues effectively.

For most users, PowerShell’s Get-Counter and WMIC CPU LoadPercentage commands are the easiest and fastest options. System administrators, on the other hand, can use scripts and Task Scheduler to monitor CPU usage across multiple systems automatically.

By regularly monitoring CPU utilization, you can detect problems early, optimize performance, and ensure your computer runs smoothly. Whether for personal or professional use, mastering these Windows commands gives you complete control over your system’s performance.

FAQs

1. Which command shows CPU usage instantly in Windows?

You can use:

wmic cpu get loadpercentage

This command instantly displays CPU utilization as a percentage.

2. How can I monitor CPU usage continuously?

Use the PowerShell command:

Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 2 -MaxSamples 10

This updates CPU usage every 2 seconds for 10 cycles.

3. Can I save CPU usage data to a file?

Yes. Use:

typeperf "\Processor(_Total)\% Processor Time" -sc 10 > cpu_log.txt

This saves the readings into a text file for later review.

4. Is WMIC deprecated in Windows 11?

Yes, WMIC is deprecated in newer Windows 11 versions, but it still functions on most systems. PowerShell is the recommended alternative for future use.

We will be happy to hear your thoughts

Leave a reply

GeeksDigit.Com
Logo