Page Fault Monitor

How do you know if your program is creating too many page faults? How do you know how many page faults it’s creating? You can use Task Manager, or Resource Monitor to give you a broad overview. But what if you want more detail about the page faults your application is creating?

Page faults are a necessary part of a disk based operating system. But your program can incur un-necessary performance penalties if it is causing too many page faults. How many is too many is a judgement call, but often once you see where the page faults are caused you can infer that a restructing of your software can have a great performance impact. Often the change is as simple as moving a call a few lines earlier, or to a parent function, or caching a handle rather than opening it and closing it each time.

Page Fault Monitor is a software tool that monitors the activity of a program and reports all page faults associated with that program.

Page Fault Monitor provides a GUI for examination of the page fault data. Where possible we provide DLL, symbol, filename and line number information associated with a page fault address.

Page Fault Monitor

In the page fault report shown above the method for EXE_FILE::openPart2, source file e:\om\c\svlpedll\exefile.cpp in the DLL svlPeInfo_x64.dll has caused 73,204 page faults.

Those 73,204 page faults are in 3,598 unique locations that are shown on the lower left of the image. The source code is shown below, with the faulting line of code highlighted.

Page Fault Monitor source code

Fully functional, free for 30 days