Monitoring memory usage in Windows helps explain sluggish performance, sudden application slowdowns, and system-wide stalls that often appear when physical RAM is under sustained pressure.
Performance Monitor (perfmon) reads metrics from the Windows performance counter subsystem and charts them in real time or logs them for later review. Memory-focused counters such as Available MBytes, Committed Bytes, and Pages/sec provide a clearer picture of memory pressure than a single “in use” number, especially when paging and commit behavior matter.
Short spikes are normal during startup, app launches, updates, and resume-from-sleep events, so sustained trends matter more than one-off peaks. Long-running logging sessions can grow quickly, and creating Data Collector Sets may require elevated permissions depending on policy and log location.
Steps to monitor memory usage using PerfMon:
- Press Win + R to open the Run dialog.

- Enter perfmon and press Enter.
Use Ctrl + Shift + Enter to start perfmon elevated when access is denied.
- Expand Monitoring Tools in the left pane.

- Select Performance Monitor.

- Click Add Counters (+) on the toolbar.

- Select Memory under Available counters.
The Select counters from computer field targets a remote system when permissions and firewall rules allow.
- Select counters such as Available MBytes, Committed Bytes, and Pages/sec.
Available MBytes trends toward zero under pressure, Committed Bytes trends toward the commit limit as virtual memory demand grows, and Pages/sec reflects paging activity (short bursts can be normal).
- Click Add » to add the selected counters to the chart.

- Click OK to return to the live graph.
Select an unwanted default counter in the legend and press Delete to remove it from the view.
- Confirm the new counters appear in the legend and values update over time.

- Expand Data Collector Sets in the left pane.

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

- Enter a name for the set (for example, MemoryUsage).
The set name also appears under User Defined and Reports.
- Select Create manually (Advanced) and click Next.

- Select Performance counter and click Next.

- Click Add… to open the counter picker.

- Select the desired Memory counters and click Add ».

- Click OK to return to the wizard.

- Set the sample interval (for example, 5 seconds) and click Next.
Shorter intervals increase detail and increase log size.
- Choose a root directory for the log files and click Next.
The default root directory is often C:\PerfLogs\Admin.
- Keep Run as set to Default and click Finish.

- Right-click the new data collector set and select Start.

- Right-click the data collector set and select Stop after the capture window completes.
Leaving a data collector set running indefinitely can consume significant disk space and reduce the usefulness of the capture.
- Open Reports → User Defined → MemoryUsage.

- Open the latest report and confirm the memory counters are plotted over the expected time range.

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.
