Windows Server 2025 / How to Record Server Performance with Performance Monitor

Assess server performance by observing CPU, memory, disk, and network activity at the same time and comparing it with normal operation. Task Manager shows the present; a Performance Monitor Data Collector Set can preserve intermittent behavior for analysis.

Define the symptom and comparison conditions

Specify slow file opens, sign-in, or web responses rather than only “slow.” Record affected users, time, concurrency, and recent changes. CPU usage is not the cause of every delay; a VM can also suffer host resource pressure.

Compare idle and representative work on the same server with the same interval and counters. A tiny file copy is not a maximum-throughput benchmark. Keep workload bounded instead of creating unplanned load on production.

Use Task Manager to identify candidates

  1. Inspect Processes or Details for CPU and memory consumers.
  2. Correlate the Performance tab’s CPU, memory, storage, and network views.
  3. Use Resource Monitor where available to associate activity with a process.
  4. Record the machine and time rather than immediately killing a process.

Compare absolute values with percentages. A low overall CPU average can hide one saturated core; occupied memory can be useful cache. Repeatedly restarting normal database or file-server caching is not a diagnosis.

Choose relevant counters and instances

Open perfmon and use Add Counters. Names can be localized, so inspect the installed descriptions rather than blindly copying English paths. See Performance Monitor troubleshooting guidance.

Resource Example counters
CPU Processor or Processor Information: % Processor Time, total and relevant cores
Memory Available MBytes and paging-related activity
Disk PhysicalDisk: Avg. Disk sec/Read and Write, plus workload
Network Network Interface: Bytes Total/sec on the relevant adapter

Disk latency is in seconds; convert when interpreting milliseconds. Bytes/sec differs from link bits/sec. Match instances to the service’s real disks and adapters rather than hiding all device differences under _Total.

Create a bounded five-minute collection

  1. Under Data Collector Sets → User Defined, create Lab-Perf-15sec.
  2. Choose manual performance-counter collection and add only the selected counters.
  3. Set an illustrative 15-second sampling interval.
  4. Choose a new folder with adequate space and suitable access.
  5. Set overall duration to five minutes and review the execution account and destination.
  6. Start, record representative work start and finish, and verify that collection stops as configured.

Fine intervals, many counters, and long duration increase collection overhead and storage. Define time, size, and retention rather than leaving an unlimited collector running. A configured collector is not proof that a run completed.

Compare values with the incident timeline

Open the run under Reports → User Defined, or load its BLG file into Performance Monitor. Align the log with the user’s symptom and compare simultaneous resource changes.

  • CPU: identify the related processes and individual cores.
  • Memory: correlate available capacity, paging, and process growth.
  • Disk: compare latency with activity and host/storage condition.
  • Network: distinguish useful transfer from retries or other work.

Use role, baseline, and response time rather than a universal threshold. Change one setting and measure again under equivalent conditions. Stop and clean up the test collector while retaining the needed raw log and test conditions.