too many page faults
October 12, 2007 3:47 PM   Subscribe

Too many XP page faults?

I have a 4G quad core extreme XP pro running a program that the performance monitor tells me needs about 100-200M RAM. This is the only thing I am running on the machine. For some reason it page faults like mad (200,000/second). I've run the same program on other (weaker) machines and it hardly pages. Why is this happening? What can I do?
posted by blueyellow to Computers & Internet (8 answers total)
 
See what happens if you set the affinity, limiting the program to use just one core.
posted by aubilenon at 3:55 PM on October 12, 2007


Make sure you have a page file that's bigger than RAM. 8g probably wouldn't hurt any, if you've got the space.
posted by Malor at 6:23 PM on October 12, 2007


Response by poster: Thanks, I played with the affinity and it didn't seem to make a difference.
posted by blueyellow at 7:40 PM on October 12, 2007


What is the application doing? Heavy IO to files which otherwise fit in cache, or what? It's clearly not doing much in the way of swapping; 200,000 pages is a shade under 800MB, an unlikely figure to be hitting the disk, but might be related to memory mapping cached files in and out of the process. Less beefy systems might just not have the data cached and thus are just copying the pages instead of playing about with page tables.

Is this actually impacting performance, or are you just worried about the big numbers in task manager?
posted by Freaky at 9:12 AM on October 13, 2007


Response by poster: There is a clear performance hit. I agree that its mostly soft page faults. The application is doing some I/O but not much on the order of reading 1G/20 minutes and writing 10M/20 minutes. Following is what the memory footprint looks like on the machine for this process:

MemMon - 0:31:00
PageFaults : 188485878
PeakWSSize : 84308K WorkingSetSize: 73592K
PeakPagedPool : 63K PagedPool : 61K
PeakNonPagedPool : 25K NonPagedPool : 7K
PeakPagefile : 87520K Pagefile : 77208K
MemMon - 0:32:00
PageFaults : 193073963
PeakWSSize : 84308K WorkingSetSize: 80976K
PeakPagedPool : 63K PagedPool : 61K
PeakNonPagedPool : 26K NonPagedPool : 7K
PeakPagefile : 87520K Pagefile : 83184K

Running the same process on a different machine looks like this (notice the difference in faults):

MemMon - 0:02:00
PageFaults : 36164
PeakWSSize : 94120K WorkingSetSize: 65256K
PeakPagedPool : 226K PagedPool : 225K
PeakNonPagedPool : 31K NonPagedPool : 7K
PeakPagefile : 403328K Pagefile : 135032K
MemMon - 0:03:00
PageFaults : 41231
PeakWSSize : 94120K WorkingSetSize: 68752K
PeakPagedPool : 226K PagedPool : 225K
PeakNonPagedPool : 31K NonPagedPool : 7K
PeakPagefile : 403328K Pagefile : 138284K
posted by blueyellow at 10:37 AM on October 13, 2007


What happens if you disable half your memory? /MAXMEM=2048 in boot.ini (configurable from msconfig.exe).

How much swap do you have configured?

What's System Properties -> Advanced -> Performance -> Advanced -> Memory usage set to?
posted by Freaky at 6:08 PM on October 13, 2007


This sounds like a corrupt pagefile, try deleting and re-creating it
posted by Lanark at 4:00 AM on October 14, 2007


This could be your problem:

First machine:
PeakPagefile : 87520K Pagefile : 77208K

Second machine:
PeakPagefile : 403328K Pagefile : 135032K

You only have an 87MB pagefile on a 4gb machine. NT-derivative machines, for proper function, need a little more swap than you have main RAM. They think of RAM as a buffer against the page file, which is the 'real' memory. They can run with less, but you get suboptimal results. They won't hit the swap unless they need it, but it's best if it's present.

As I said in my first post, delete that page file, and create an 8gb one, and your problem has a pretty good chance of instantly disappearing.
posted by Malor at 7:29 AM on October 14, 2007


« Older Skill vs. Chance in Solitaire?   |   Help me find a power supply in NYC Newer »
This thread is closed to new comments.