Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows 64 Bit > Re: I do not know what you call "real faults".

Reply
Thread Tools Display Modes

Re: I do not know what you call "real faults".

 
 
Juke exch
Guest
Posts: n/a

 
      08-12-2011
It has probably to do with the size of the data you attemp to read from the file.

I've a 64-bit program, running on Windows 2008 R2 64-bit with 18GB memory,which reads a file (16GB) with FILE_FLAG_SEQUENTIAL_SCAN flag and I see different behavior with the size of the buffer I pass to ReadFile(). For large buffer size, say 64MB, I see lots of page fualt but if I use buffer size of 512K, I see none. What I mean that with large buffer, the page faults would steadly rises to say 43 millions, but for 512K buffer it (page faults) won't increase at all and stays around 1000-2000.
I'm trying to understand that too. I can see that page faults does impact performance but not by much.

> On Thursday, August 05, 2010 6:39 AM mterrisse wrote:


> Hello,
>
> I am using Windows 7 64-bit but I develop a 32-bit application. When
> It is running, the Windows task manager reports millions of page
> faults and I am trying to track them to improve performance.
> The number of page faults reported for the same program using a 32-bit
> version of Windows is not so big, so it has to do with WOW64.
>
> I try to focus on faults directly linked to my code but most of the
> page faults come from Windows Api like ReadFile or SysAllocStringLen,
> and I cannot change anything to that.
> Is it well known that Win32 APIs can generate a lot of page faults, or
> is there anything I can do to limit that ?
>
> Note that I have 16 GB RAM installed on the machine, that is large,
> and a test program I wrote can generate thousands of pages faults
> immediately while it comsumes less than 1 MB.
>
> Regards,
>
> Michel



>> On Thursday, August 05, 2010 8:56 AM Lorne wrote:


>> Are you sure these are real faults? Every time your program asks windows to
>> look for some data and it is not already in RAM it will load it and the
>> failure to find it first time is recorded as a fault. The first time you
>> program executes anything or during its startup my guess is that it will
>> throw many page faults which are just related to data being loaded into RAM.
>> I just looked on my machine and even Microsoft software like Outlook is
>> showing over 50,000 "page faults".



>>> On Wednesday, August 11, 2010 6:34 AM mterrisse wrote:


>>> I do not know what you call "real faults". Page faults here are not
>>> invalid page faults or protection faults. The process runs with no
>>> error.
>>>
>>> ou
>>> AM.
>>> I understand that. What I cannot understand is how a small program
>>> (code : ~ 300 KB, memory usage : ~ 500 KB) can generate millions of
>>> such page faults in a few seconds. The number of page faults is far
>>> greater than the number of bytes consumed by the process, this means
>>> that data is being loaded into RAM not only the first time it needs to
>>> access a page, but thousands of times for the same page. Strange.
>>> And this does not happen with the 32-bit version of Windows 7.
>>>
>>> Michel




 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Windows time service will not start Neil Windows Small Business Server 8 08-01-2010 05:29 PM
RWW 403 forbidden error BobS Windows Small Business Server 29 06-24-2010 08:58 PM
sbs 2003 Network Configuration Joel Z Windows Small Business Server 9 03-26-2010 10:02 PM
CIECW wizard fails at network configuration Neil Windows Small Business Server 12 02-26-2010 08:31 AM
Help Trouble shooting remote Access - OWA and Remote work place John Windows Small Business Server 8 01-25-2010 01:02 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59