Page Faults and the Inetinfo Working Set

There is no recommended value for the number of available bytes or for the size of the Inetinfo working set. The requirements vary widely with each system configuration and the services each system runs. You can determine whether your system has enough available bytes and a large enough Inetinfo working set by monitoring page faults.

The page fault counters for a process are incremented when the process requests code or data that is not found in its working set. The data might be found elsewhere in memory, such as in the file system cache, in the working set of another process, or in transition to disk. The system might also have to read the data from disk.

A sustained high rate of page faults for a process usually indicates that its working set is not large enough to support the process efficiently. If the system doesn't have enough available memory to enlarge the working set, it cannot lower the page fault rate.

Compare your data on the size of the Inetinfo working set to the rate of page faults attributed to the working set. Use the Process: Working Set: Inetinfo counter as an indicator of the size of the working set. Use the Process: Page Faults/sec: Inetinfo counter to indicate the rate of page faults for the Internet Information Server process.

There are two kinds of page faults. The page faults that affect performance significantly are hard faults, page faults that require reading from disk to retrieve a referenced page. Soft faults, page faults resolved when the page is found elsewhere in physical memory, interrupt the processor but do not affect performance significantly.

A sustained high fault rate of hard faults generally indicates a memory shortage. When the server does not have enough memory to support a sufficiently large working set for the process, the server is not able to lower the page fault rate to an acceptable level and performance is degraded.

Unfortunately, the Process: Page Faults/sec counter includes both hard and soft faults. There are no counters for measuring the hard faults attributable to each process separately. However, Memory: Page Reads/sec and Memory: Pages Input/sec are good indicators of hard faults for the whole system. If the system is incurring large numbers of hard page faults, it is likely that you have a memory bottleneck. Adding memory is likely to improve performance. For more information on memory bottlenecks, see Chapter 6, "Preventing Processor Bottlenecks."