|Home||Reviews||Tools||Forums||FAQs||Find Service||ISP News||Maps||About|
how-to block ads
Contrary to what some people might tell you, virtual memory doesn’t mean “disk”. It’s a bit more subtle than that. Programs see nothing but virtual memory. Sometimes pieces of the virtual memory are held in real memory, sometimes they’re held on the disk, and sometimes they’re nowhere, because no-one’s looked at them yet, even though they’re virtually there. The point is that the program does not know the difference; it’s just memory. Or at least, it behaves as if it were memory, which is why it’s called “virtual memory”.
Q2. Why have virtual memory?
Virtual memory removes the limitations imposed by a fixed-size RAM. Adding more RAM is no longer a way to allow you to run bigger programs; there’s no such limit. Adding RAM has become a way to make your system run faster (up to a point), because there will be less shuffling between disk and RAM.
Q3. Where is the virtual memory stored on disk?
Which is to say, where is the content of a piece of virtual memory stored when it’s not held in RAM? It has to be kept somewhere; the system can’t just forget about it. Some data (e.g., program instructions) came into memory from the program .exe file, and won’t have been changed. So, there’s already a copy on disk (in the .exe file) and we don’t need any other copy. Other data (e.g., working results) must be written out to a file called the “page file” that exists for exactly this purpose. It’s called the “page file”, by the way, since virtual memory is considered to be divided into “pages” (4096 bytes on Intel PCs). In Windows XP, there can be more than one page file, on different disks. Each one is called “pagefile.sys”.
Q4. How big should my page file be?
I don’t know. It depends. What it actually depends on is how many programs you run at the same time, how large those programs are, and things like that. What it doesn’t depend on is the size of your RAM. Remember how I said the memory contents were either held in RAM or in the page file (approximately speaking)? It follows that if more RAM is added, you’ll have more room in RAM, so you’ll need less space in the page file, and not more.
Many people, including Microsoft, tell you something like “one and a half times the size of RAM” in answer to this question. They’re wrong. Perhaps this was a good rule of thumb when memory was expensive, but it no longer is, but the old rule is being repeated with no reasoning behind it.
On the other hand, there’s no need to spend a lot of time worrying about this. There’s no real penalty for having too large a page file; disk space is so cheap. And if you make it too small, then eventually you’ll get a message telling you you’re running low on virtual memory, at which time you can make the page file larger. Either way, nothing really bad happens.
My advice would be to allocate a 500 or 600MB page file, fixed size (minimum = maximum). I do it that way because I don’t see any benefit in giving Windows the ability to extend the page file; it’s easy enough to just make the file larger in the first place.
Q5. Who invented this idea, anyway?
Tom Kilburn and his team at Manchester University (link), somewhere around 1959 or 1960.
Q6. Where else can I read about virtual memory in Windows XP?
This is a good page: Virtual Memory in Windows XP
and another: RAM, Virtual Memory, Pagefile and all that stuff