Re: Can I get read access to Page Table Entries in USER mode?



If you don't mind, could you please explain how, in your opinion, it
may be possible to use more RAM than the target machine has.....

I can allocate 1500 megabytes of RAM on a machine that only has 512
megabytes of physical memory. Most of it will get alllocated to the paging
file, and get swapped in as I access it. When I say "physical memory" I
mean memory backed by silicon, not a hard drive.


FYI, whenever you use the term "RAM", you speak about physical memory,
rather than virtual one. This is why I asked you to clarify your
statement, in the first place....
On NT-based system any program is able to address up to 2 G of memory
in the user address space, and, until recently, very few machines
actually had that much RAM.
This is what paging is for, in the first place. What makes your program
so different from any other one that may run on the target machine?????
Why are you bothered about it????



There is no way to obtain the info that you seek from the user mode
for the reasons that I have explained in my previous post

If you are just desperate to know how much RAM your process may use at
most, you can get this info with GetProcessWorkingSetSize(). You can
also adjust this value by SetProcessWorkingSetSize(), and/or lock some
certain rangle in RAM by VirtualLock()


Anton Bassov



Ian Smith wrote:
"anton bassov" <soviet_bloke@xxxxxxxxxxx> wrote in message
news:1166330409.839184.169700@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I have an application which needs to use more RAM than there is physical
memory.

If you don't mind, could you please explain how, in your opinion, it
may be possible to use more RAM than the target machine has.....

I can allocate 1500 megabytes of RAM on a machine that only has 512
megabytes of physical memory. Most of it will get alllocated to the paging
file, and get swapped in as I access it. When I say "physical memory" I
mean memory backed by silicon, not a hard drive.

The only thing driver can know about is what memory map *WAS* like at
the time when it examined a page directory and/or page tables. However,
this info is too volatile to be used for any practical purposes.

A snapshot of my applications ram is all I am hoping for.. grab a snapshot
every minute or so and then look to see what gets swapped in and out. If it
matches what I would do manually, then letting windows handle it is best.
If it is swapping stuff out I know should be left in for better performance,
I'll use memory mapped files to manually pull stuff in and out.

I don't need to do anything in real time with the data, I just would like
some idea of whats going on under the hood so I can make some design
decisions.

--
Ian Smith

.



Relevant Pages

  • Re: 32-bit programs on Windows x64
    ... My system requires 4 GB to store its DFA pixel pattern ... THE AMOUNT OF RAM ON THE MACHINE IS COMPLETELY, TOTALLY UNRELATED TO THE AVAILABLE ADDRESS ... on thinking about physical memory as being an operational parameter in any of this? ... Note that the L2 cache is ...
    (microsoft.public.vc.mfc)
  • Re: The Linear Address Space
    ... controller to read the data into physical memory (RAM). ... > Am I on the right track with paging? ... used as an offset into that frame. ...
    (comp.lang.asm.x86)
  • Re: Are patches eating up my memory?
    ... Patches may be eating up your hard drive space on C, but not your RAM. ... physical memory because it includes page filing. ...
    (microsoft.public.windows.mediacenter)
  • Re: Excessive Paging
    ... an automatic update pushed it over the edge. ... How much RAM memory do you have? ... commit charge isn't even half of the physical memory. ... problems (long boot times, 5 minutes to log on, etc) so perhaps ...
    (microsoft.public.windowsxp.perform_maintain)
  • Re: Added more RAM but not all is listed on My Computer > Properties
    ... the /3GB switch deals with Virtual ... doubt that it will be changed to allow for use of RAM above the 4GB ... Total Physical Memory 5,120.00 MB ... Available Virtual Memory 1.96 GB ...
    (microsoft.public.windowsxp.help_and_support)

Loading