23

I have a Windows 7 64-bit computer that is having performance issues. After some investigation, I have discovered that the page faults / second on it - as reported by Performance Monitor - are really high.

Everything else seems to be normal. Resource Monitor reports no hard faults and lots of available memory.

Is this a potential cause for problems, or is it a red herring? If it is something that could be causing problems, what should I do next to figure out what is causing it?

Here is a screenshot of the Performance Monitor. Notice that the average page faults / second is 75,887. On another computer that does not have problems, this number is closer to 3,000.

Performance Monitor--Page Faults / Second = 75,000!

Here is a screenshot of the Resource Monitor, sorted by hard faults / second, which is currently 0 for all processes.

Resource Monitor--Hard Faults / Second = 0

5
15

Process Explorer has a column available to check how many page faults are being generated,
this way you can identify the program that is causing the problem and troubleshoot more specific.

enter image description here


Performance Monitor: Average page faults / second:

This counter gives a general idea of how many times information being requested is not where the application (and VMM) expects it to be. The information must either be retrieved from another location in memory or from the pagefile. Recall that while a sustained value may indicate trouble here, you should be more concerned with hard page faults that represent actual reads or writes to the disk. Remember that the disk access is much slower than RAM.

http://technet.microsoft.com/en-us/library/cc768048.aspx

4
  • I tried this, but the PF Delta is basically 0 for all processes (all are < 100). There seems to be some difference between page faults in Performance Monitor and hard faults as reported by Resource Monitor or Process Explorer. Feb 3 '11 at 14:20
  • @DavidRobison: Updated my post with a quote at the end, the part in bold should answer your question, I suppose that it is thus normal bahavior. Feb 3 '11 at 14:28
  • That link helps, though now I'm left with another question: how do I figure out what process is causing the soft page faults? serverfault.com/questions/230669/… Feb 3 '11 at 15:38
  • @DavidRobison: Private Delta Bytes column might help, no idea yet... Feb 3 '11 at 15:43
3

A hard page fault is when the memory manager finds that the block of memory its needs is not in RAM. That memory has been swapped out to disk, and your system slows down because it takes more time to get it from there. Add more memory to your system to reduce the number of page faults and improve performance.

3
  • On the other hand, if you just started an application, then expect many page faults while everything gets loaded. That might be what you saw, because you seem to have ample free memory.
    – Ron
    Feb 1 '11 at 21:27
  • 1
    There are memory caches at different places (processor, motherboard, disk controller). Does the slow machine have a smaller processor cache?
    – Ron
    Feb 1 '11 at 21:32
  • You can't exactly increase your processor cache(s). Adding more memory won't fix that. (which you mentioned in your most recent comment)
    – Adam
    Apr 17 '12 at 3:57
2

The "Page Faults/second" includes both soft faults (pages that can be served from/to RAM) and hard faults (pages that must be served from/to the disk). So having a high "Page Faults/second" value doesn't necessarily mean a problem. Examples of soft page faults include turning pages in the transition list (it consists of the standby list and the modified list; they contain temporarily unused memory pages, which are candidates for paging out to the disk (or discarded if they are not modified), but are still in the RAM) into active pages and turning active pages into the transition list. In Windows 10, this could also happen when compressed pages are turned into active pages (as Windows 10 has memory compression).

To see hard faults, you can use Pages/second, Pages Input/second or Pages Output/second counters.

1

Here's a table from the Windows Internals book about what's the page fault. (I've excluded the ones that result in an access violation):

  • Reason for Fault - Result
  • Accessing a page that isn’t resident in memory but is on disk in a page file or a mapped file - Allocate a physical page, and read the desired page from disk and into the relevant working set
  • Accessing a page that is on the standby or modified list - Transition the page to the relevant process, session, or system working set
  • Accessing a demand-zero page - Add a zero-filled page to the relevant working set
  • Writing to a copy-on-write page - Make process-private (or session-private) copy of page, and replace original in process or system working set .

You can reference the question for more details what-causes-page-faults

there are so many reason to make page fault.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.