Oh, & for those too lazy to click on my rigs link, i have 2 GB of RAM, & i've never used that much AFAIK, so that shouldn't be an issue.
n7, you are correct. If if there is RAM available, Windows will still use its page file if it is enabled.
Buy another 2 gigs of RAM and then disable the page file totally, then you can deal with ?ns? access times instead of ?ms? access times
Windows can only address 4GB?s of memory whether it be virtual or physical.
Yeah PAE is really for the server application, as current Athlon and opteron s939 compliant motherboards do not support more than 4Gb?s total capacity
So in his scenario PAE switch is useless.
No single socket Opteron or Athlon 64 can handle more than 4gigs, (or 2 gigs a channel)
AMD K8's can only access 4 gigs via their own on die DC memory controllers, and the rest VIA their HT links. This increases the physical memory size for windows to address to (if using the PAE switch in the BOOT.INI).
Once again this is only for the server application, as only can most windows server OS?s utilise the PAE switch. Windows XP is capped at 4GB?s max memory (2GB dedicated kernel and 2GB dedicated for application data).
So this is not relevant in his scenario.
No single socket Opteron or Athlon 64 can handle more than 4gigs, (or 2 gigs a channel)
Yes they can, if you can afford a motherboard that will have enough slots to support the memory.
Ok you must keep in mind that I am talking about his implementation of windows, which I can assume is Windows XP Home/Pro not a ?Datacentre? server edition OS/license.
However there are hardware constraints, as no AMD server setup can support (at present time) more than 16GB?s of physical memory, and that is a given.
No, it won't. The accounting provided to taskmgr and perfmon is wrong because it includes pagefile reservations which aren't actually in the pagefile yet and may never be.
That's true, but not necessarily the whole story. Windows considers its pagefile an extension of system ram, and the virtual memory manager treats actual ram and the pagefile essentially the same, with one key difference: when an application reserves storage without actually committing it, Windows will allocate those addresses from the pagefile. If the app later wants to commit that storage it will swap the reserved pages into ram.
All of this may not matter a hell of a lot if you have so much ram that Windows never uses it all, but it is important to note that many applications reserve much more storage than they actually use.
It's not an extension of memory, it's impossible for data to be directly accessed inside of the pagefile. It's used as a temporary storage medium for data that doesn't have a backing store anywhere else. So pages that were read from binaries, shared libraries, etc and have no been modified will never be put in the pagefile because they can always be paged back in from the file on disk they originally came from. Pagefile reservations may or may not actually be put in the pagefile, even if they do cause some I/O to put the pages into the pagefile at some point they won't cause any performance changes. The amount of pages in memory that have no backing store is usually pretty small and with disks as fast as they are today writing a few MB/s here and there will most likely go unnoticed.
Even so, I can allocate my entire address space and unless I touch the pages they won't get commited to memory or swap. Unused memory is essentially unallocated.
You do love to wallow in semantics, don't you?
Ok, you're right, the pagefile is not an extension of memory, in the same way that the whole virtual memory manager is not an extension of memory,
but not in the same way that, say, my keyboard is not an extension of my desk.
No, data cannot be read directly from the page file, but then nothing is every _really_ read directly from disk, is it?
The pagefile is part of virtual memory, not simply a backing store. The operating system alocates addresses from both physical ram and the pagefile.
I venture to say that there is nothing that you as a user, or even a programmer, can do to stop Windows from using the pagefile short of disabling and deleting it.
No, it's not. You can run without a pagefile and still have VM enabled but not vice versa.
Sure there is, you can mlock(2)
Of course, since the VMM will not use the pagefile if it isn't there. Which is, I believe, where the discussion started.
I thought we were talking about Windows? Here is a page that explains how it works on the actual operating system we were discussing.
And it took some time since MS' search engine sucks but I found what looks like their mlock(2) equivalent:
What that does is lock a region of a particular process's address space into ram. It doesn't affect the overall system-wide use of the pagefile.