Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|improve this question
Your scale is mega low at .001 BTW – Jeff F. Feb 1 '11 at 21:36
The basics of Page… – Moab Feb 2 '11 at 1:02
Pagefault notes, it could be a poorly coded program causing this or a faulty memory – Moab Feb 2 '11 at 1:03
Finally found the source of all these page faults: the Windows Search service. Disabled that, the page fault total went down to 3,000 / second, and everything runs great. – David Robison Feb 4 '11 at 21:03
up vote 6 down vote accepted

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.

share|improve this answer
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. – David Robison 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. – Tom Wijsman 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?… – David Robison Feb 3 '11 at 15:38
@DavidRobison: Private Delta Bytes column might help, no idea yet... – Tom Wijsman Feb 3 '11 at 15:43

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.

share|improve this answer
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
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) – advs89 Apr 17 '12 at 3:57

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.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .