Re: Can I get read access to Page Table Entries in USER mode?
- From: "anton bassov" <soviet_bloke@xxxxxxxxxxx>
- Date: 17 Dec 2006 06:26:29 -0800
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
.
- References:
- Can I get read access to Page Table Entries in USER mode?
- From: Ian Smith
- Re: Can I get read access to Page Table Entries in USER mode?
- From: anton bassov
- Re: Can I get read access to Page Table Entries in USER mode?
- From: Ian Smith
- Can I get read access to Page Table Entries in USER mode?
- Prev by Date: Thread permissions to see TAPI lines
- Next by Date: Re: kernel objects and handle table
- Previous by thread: Re: Can I get read access to Page Table Entries in USER mode?
- Next by thread: Re: Can I get read access to Page Table Entries in USER mode?
- Index(es):
Relevant Pages
|
Loading