What are Page Faults?

Only those parts of a program and data that are currently in active use
need to be held in physical RAM. Other parts are then held in a swap
file (as it's called in Windows 95/98/ME: Win386.swp) or page file (in
Windows NT versions including Windows 2000 and XP: pagefile.sys). When a
program tries to access some address that is not currently in physical
RAM, it generates an interrupt, called a Page Fault. This asks the
system to retrieve the 4 KB page containing the address from the page
file (or in the case of code possibly from the original program file).
This - a valid page fault - normally happens quite invisibly. Sometimes,
through program or hardware error, the page is not there either. The
system then has an 'Invalid Page Fault' error. This will be a fatal
error if detected in a program: if it is seen within the system itself
(perhaps because a program sent it a bad request to do something), it
may manifest itself as a 'blue screen' failure with a STOP code: consult
the page on STOP Messages on this site.

If there is pressure on space in RAM, then parts of code and data that
are not currently needed can be 'paged out' in order to make room - the
page file can thus be seen as an overflow area to make the RAM behave as
if it were larger than it is.

-Tim
----
Integrated Technical Services

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Peter G.
Viscarola
Sent: Monday, March 26, 2007 8:05 PM
To: FlexRadio@flex-radio.biz
Subject: Re: [Flexradio] Help!

>
>this page fault thing really has me curious.
>

Me too.
 
Don't forget that there are "hard" and "soft" page faults in Windows.
Only "hard" page faults result in the system going to disk -- "soft"
page faults result in an already in-memory page being reclaimed from the
transition list.  Hard faults are costly, soft faults are no big deal.

On a system with lots of free physical memory, Windows will allow a
program to greatly exceed its working set quota.  Only in the presence
of memory pressure will the working set be "trimmed" and pages exceeding
the process working set quota freed (by moving them to the transition
list, where they're eventually moved to disk).

There are many reasons you might see high numbers of page faults aside
from the working set quota being enforced: Initial module load (as
somebody mentioned already, a process "faults in" its pages from disk
when it's first executed), memory mapped I/O, and the process allocating
new (demand zero) pages.  Anyone know if PowerSDR is doing either of
these last two (regularly)?

If PowerSDR is just "sitting there" and demodulating received signals on
a system with lots of memory to spare, and it's continuously page
faulting at the rate of many hundreds or a thousand per second or more,
then it sounds like it could use some process tuning.

de Peter K1PGV


_______________________________________________
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Homepage: http://www.flex-radio.com/

FlexRadio Knowledge Base: http://kb.flex-radio.com/

_______________________________________________
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archive Link: http://www.mail-archive.com/flexradio%40flex-radio.biz/
FlexRadio Homepage: http://www.flex-radio.com/

FlexRadio Knowledge Base: http://kb.flex-radio.com/

Reply via email to