☕ Buy a Coffee
Home / Windows & SysAdmin

Use resmon (Resource Monitor) for Advanced CPU Tracking

Dissect per-thread CPU consumption, disk queue latency, and real-time TCP socket connections beyond basic Task Manager metrics.

Sachin Siju
Sachin Siju
Lead Systems Engineer & Tech Blogger
Jul 18, 2026 4 min read
Use resmon (Resource Monitor) for Advanced CPU Tracking

Beyond Task Manager

Task Manager tells you which process is using how much CPU and RAM at a glance, but it stops there. Resource Monitor (resmon.exe) is the deeper diagnostic tool underneath it — the same engine, exposed with per-thread CPU breakdowns, per-file disk I/O, live TCP connection tables, and handle/module inspection. If Task Manager tells you what's slow, Resource Monitor tells you why.

Opening It

Press Win, type resmon, and hit Enter. You can also launch it from Task Manager itself — click More details if collapsed, then the Performance tab, then Open Resource Monitor at the bottom.

The window is split into five tabs: Overview, CPU, Memory, Disk, and Network. Each has live-updating graphs on the right and detailed, sortable tables on the left.

The CPU Tab: Where the Real Detail Lives

Click the CPU tab. It's split into four expandable sections:

Processes

Similar to Task Manager, but with an extra Threads column showing exactly how many threads each process is running, plus the process's base priority. Check the box next to a process to filter every other panel on this tab to just that process's activity — extremely useful for isolating one app's full resource footprint.

Services

Lists running Windows services with their PID and description, and — critically — lets you check a service to filter the CPU graphs to it. This is the fastest way to figure out which background service (svchost.exe instances are notoriously ambiguous in Task Manager) is actually responsible for a CPU spike, since Task Manager often just shows a generic "Service Host" entry without telling you which service inside it is at fault.

Associated Handles

Type a search term (a filename, for example) to find every process holding an open handle that matches. This is the exact mechanism used to unlock files that report "in use by another program" — search the filename here, and any matching process appears with its PID so you can end it.

Associated Modules

Search for a DLL name to see every process that has it loaded. Useful when tracking down which processes are using a specific driver, codec, or shared library — for instance, confirming which apps still have an outdated DLL loaded before you replace it.

Reading the CPU Graphs

On the right side of the CPU tab, you get a live graph per logical core plus an aggregate. Hover over any process row on the left and its row highlights blue in the graph, letting you visually correlate a specific process against overall CPU load over time — something Task Manager's simple percentage column can't show you as clearly.

The Memory Tab

Shows working set, committed memory, shareable memory, and hard faults per process. The Hard Faults/sec column and graph are the standout feature here — a hard fault means Windows had to pull data from disk (the page file) instead of RAM, which is a strong indicator of memory pressure causing system-wide sluggishness, even when total RAM usage doesn't look maxed out.

The Disk Tab

Breaks down read/write activity per process and per file, in real time. If your disk activity light is constantly on and you don't know why, this tab shows you exactly which file is being hammered and by which process — far more granular than Task Manager's simple "Disk" percentage column. The Response Time (ms) column under Storage is also worth watching: consistently high response times point to a failing or overloaded drive rather than a software issue.

The Network Tab

Lists active TCP connections per process, including the remote address and port, plus current send/receive throughput. The TCP Connections panel is genuinely useful for security triage — if an unfamiliar process has an open connection to an address you don't recognize, this is where you'd spot it before Task Manager's simpler network view would surface it.

Practical Example: Diagnosing a CPU Spike

  1. Open Resource Monitor's CPU tab.
  2. Sort the Processes list by the CPU column (click the header) to find the top consumer.
  3. If it's a svchost.exe instance, expand the Services panel and check the box next to services associated with that PID to see exactly which one is responsible.
  4. Cross-reference against the Disk tab to see if the same process is also driving heavy disk I/O — a common pattern with things like Windows Update, Windows Search indexing, or antivirus scans.
Tip: Resource Monitor's data isn't retained after closing it — there's no history or logging built in. For long-term performance tracking over hours or days, pair it with Performance Monitor (perfmon), which can log counters to disk over time.

Quick Reference

  • Find what's locking a file: CPU tab > Associated Handles > search filename.
  • Identify which service inside svchost is spiking CPU: CPU tab > Services > check the suspect PID.
  • Diagnose slow disk performance: Disk tab > sort by Response Time (ms).
  • Spot suspicious network activity: Network tab > TCP Connections > check remote addresses.
  • Check for memory pressure: Memory tab > watch Hard Faults/sec.
Featured Infrastructure Partner

Deploy on High-Performance Hostinger Cloud

Get up to 75% OFF + free domain & SSL. Powering xube.me's sub-second response times.

Claim Discount ↗

Discussion & Insights

Related Technical Essays