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:
- Open Command Prompt.
- Press Windows + R, type
cmd
, and hit Enter.
- Press Windows + R, type
- Type the following command:
tasklist
- 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:
- Open Command Prompt with Administrator privileges.
- Type this command:
wmic cpu get loadpercentage
- 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
Why PowerShell Is Recommended:
- 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:
- Open Task Scheduler.
- Click Create Basic Task.
- Name it “CPU Monitor.”
- Set it to run daily or hourly.
- In Action, choose Start a Program and enter:
powershell.exe
- 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.