Monitoring CPU usage makes it easier to explain sluggish applications, stuttering desktops, and overloaded Windows servers. Task Manager and Resource Monitor offer quick snapshots, but short spikes and intermittent slowdowns often need a longer capture to diagnose. Consistent CPU baselines also support capacity planning before the next incident report arrives with dramatic punctuation.
Performance Monitor (PerfMon) reads performance counters exposed by the operating system and displays them as live graphs. The Performance Monitor view is suited for real-time observation, while Data Collector Sets record the same counters to log files (such as .blg or .csv) for later review under Reports.
Counter selection and sampling frequency affect both accuracy and overhead. Using Processor counters shows overall load, while Process counters isolate a specific executable, and a small sample interval can generate large logs quickly. Creating or starting a data collector set typically requires administrative rights, and utilization counters do not replace hardware telemetry such as temperatures.
Steps to monitor CPU usage with Performance Monitor (PerfMon):
- Open the Run dialog with Win + R.

- Run perfmon.

- Select Monitoring Tools → Performance Monitor.

- Click the green plus icon to add a counter to the live graph.

- Select Processor → % Processor Time with the _Total instance and click Add ».
_Total shows combined usage across all logical CPUs, while individual instances (0, 1, …) isolate a single core.
- Click OK to begin live monitoring.

- Expand Data Collector Sets in the left pane.

- Right-click User Defined and select New → Data Collector Set.

- Enter a name for the data collector set.

- Select Create manually (Advanced) and click Next.

- Select Create data logs and tick Performance counter.

- Click Next.

- Click Add… to choose counters for logging.

- Select Processor → % Processor Time with the _Total instance and click Add ».
Process → % Processor Time isolates CPU for a single executable, and values can exceed 100 on multi-core systems.
- Click OK to return to the wizard with the selected counters.

- Set the Sample interval and click Next.
Intervals like 5 to 15 seconds are typical for troubleshooting without producing oversized logs.
- Choose a log directory (typically under C:\PerfLogs) and a format such as .blg or .csv.
High-frequency sampling can grow log files quickly, and a full system drive can disrupt updates, logins, and crash dumps.
- Click Next.

- Select Save and close and click Finish.

- Right-click the new data collector set and select Start.
Collection runs in the background until stopped, and the status shows Running while active.
- Stop the data collector set after capturing the desired window.

- Expand Reports → User Defined.

- Select the latest report under the data collector set to review recorded CPU usage.

Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
