Memory Counters

The counters on the Performance Monitor memory object provide information on memory from different perspectives. The following table is a quick reference guide to the most commonly used memory counters.

Memory Counter

Description

Page Faults/sec

How often is data not found in a process's working set?

This includes both hard page faults, which require disk I/O and soft page faults where pages are found elsewhere in memory.

If requested code or data is repeatedly not found, the process's working set is probably too small because memory is limited.

Pages Input/sec

How many pages are being retrieved from disk to satisfy page faults?

Compare with Page Faults/sec to see how many faults are satisfied by reading from disk, and how many come from somewhere else.

Pages Output/sec

How many pages are being written to disk to free up space in the working set for faulted pages? Pages must be written if they were changed by the process.

A high rate indicates that most faulting is data pages and that memory is becoming scarce. If memory is available, changed pages are retained in a list in memory and written to disk in batches.

Pages/sec

Sum of Pages Input/sec and Pages Output/sec.

Page Reads/sec

How often is the system reading from disk because of page faults? How much is page faulting affecting the disk?

The primary indicator of a memory shortage. Some page reads are expected, but a sustained rate of 5 pages per second or more indicates a memory shortage.

Counts how often the disk is read, regardless of the number of pages per reads. The number of pages exceeds the number of reads when more than one page is read at a time.

Page Writes/sec

How often is the system writing to disk because of page faults?

Counts how often the disk is written to, regardless of the number of pages written.

The number of pages exceeds the number of writes when more than one page is written at a time.

This counter is another good indicator of the effect of paging on the disk.

Available bytes

How much memory is left for processes to allocate?

This is an instantaneous count, not an average.