Diagnosing Performance Issues with Windows Performance Monitor

Task Manager gives you a quick glance; Performance Monitor gives you genuine, sustained diagnostic data — logged counters over time, essential for catching intermittent problems Task Manager’s live view simply can’t capture.

# Create a data collector set to log key counters over time
logman create counter "DiskPerf" -c "\PhysicalDisk(*)\% Disk Time" "\PhysicalDisk(*)\Avg. Disk Queue Length" -f csv -o C:\PerfLogs\diskperf.csv -si 00:00:05

logman start "DiskPerf"
# ... let it run during the problem period ...
logman stop "DiskPerf"

Counters Worth Watching

  • \Processor(_Total)\% Processor Time — sustained CPU pressure
  • \Memory\Available MBytes — genuinely low, sustained memory pressure
  • \PhysicalDisk(*)\Avg. Disk Queue Length — disk I/O bottleneck, consistently above ~2 is a red flag
  • \Network Interface(*)\Bytes Total/sec — network saturation

Logging over an hour or overnight, then reviewing the CSV afterward, catches intermittent spikes (a scheduled task, a background sync) that Task Manager’s live view — which you’re only looking at when you remember to check — will almost always miss entirely.