How much virtual memory do various OS use?

truepurple

Distinguished
Aug 12, 2010
19
0
18,520
With win7, XP, and linux, if you have more then enough RAM in your system, do any or all of them still use your hard drive for virtual memory and browser cache?
 

Paperdoc

Polypheme
Ambassador
All Windows OS's will create, maintain and use Virtual Memory on the HDD - it's called a Paging File. However, it is only actually used if you have enough files and applications open to need more RAM than you have. So, if you keep lots of stuff open all the time it will be needed; if you only use a couple of apps with modest file sizes at any one time, probably not.

32- vs. 64-bit OS comes into play here, too. A 32-bit OS can only address 4GB of RAM altogether, and that includes the memory space on your add-on video card if you have one. So if you have 4 GB of actual RAM on your mobo and a video card with 512 MB of its own, that 512 MB of real RAM will not be used - the address space in that range is used, instead, to access the video card's RAM. But if you have only 2 or 3 GB of actual RAM, there won't be any overlap. Besides this "occupied" RAM space, the OS itself will use about 300 MB.

A 64-bit system will still use up about 300 MB of real mobo RAM. BUT it can address a much larger RAM range, so it will treat any extra RAM on your Video card as being above the real RAM you have and there is no overlap. So out of all the real RAM you have installed on your mobo, a 64-bit system will use about 300 MB and leave all the rest usable by your apps and files. Of course, with a 64-bit OS you are free to add more than 4 GB of mobo RAM since it can actually get used. Thus, a 64-bit OS is less likely to be using Virtual RAM on the HDD because it has more mobo real RAM to use first.

People often get excited about NOT using Virtual Memory on the HDD because it is SOOOOO SSLLOOOOWW! But if your normal operations actually need more RAM than you have, what else would you do? You may be too young to remember the bad old days when the system would go unstable with an error message that there was "Not Enough Memory" to run what you wanted. Having Virtual RAM always available and used automatically keeps things running stably, even if it does allow you to create a situation that slows your machine by requiring its use.
 

wombat_tg

Distinguished
Nov 26, 2010
270
0
18,810


You just made me feel old. :cry:
 

truepurple

Distinguished
Aug 12, 2010
19
0
18,520
Thank you paperdock, but I am more knowledgeable then that, alot of what you told me I already knew. I was more looking for something close to a yes or no answer. These questions are actually part of a bigger issue,(or set of issues) but I find if I ask alot of questions, only a few get answered, or maybe not even any.

So if I had say 16GB+ (or say 200GB or whatever, since the point of the question is to ask if you have more then enough ram) on win7 64bit, or linux, and not running any extraordinary app, just regular home use stuff, will either OS or browser on either OS use the HDD for virtual memory or browser cache? Is your answer, it would not?

How else does your OS use your HDD in a environment with more then enough RAM, other then occasionally to call up files to load to RAM?

Does having more then enough RAM make the speed of your hard drive pretty irrelevant except for loading and specific file read/write? With more then enough RAM, does the speed of ones hard drive become more irrelevant for many basic software operations?
 

Paperdoc

Polypheme
Ambassador
Ah, different questions, so here goes.

Yes, if you have a VERY large amount of RAM (that is, more than you ever use with typical applications running), the OS should not ever use the Virtual RAM on disk. It should only use it when needed. Now, I am not absolutely sure that it NEVER would look at that disk file - the OS might do a minor check on it rarely and use very little time.

Now, having that much RAM still does NOT remove your HDD speed from consideration. Most normal operations need to access the HDD for several reasons. When you start an application, it must load from the HDD. When that app calls for additional features that are contained in auxiliary files like .dll's, they must be loaded. When the app opens an existing file, it reads it from the HDD. Any write operation accesses the HDD. Most apps have some limit on the size of RAM space they will use for handling a file. If the are working on a MUCH larger file, they may do so by accessing (that is, loading and working on) only a part of the file and later writing the updated info back to HDD before proceeding to loading another portion. Many apps include a timed automatic update feature - at pre-set intervals it writes the current version of the data file it is using in RAM back to the HDD for safe keeping in case of sudden failures.

So, lots of operations actually access your HDD on a regular basis, and hence the drive's speed is a factor in overall performance. However, many of the things you do like writing and editing a document are limited almost entirely by your own speed, and the HDD speed become inconsequential in those cases.

RAM is faster than and HDD, so in the old days it became common to use software utilities to create a disk drive buffer in real on-board RAM. The idea was to use this buffer between the HDD and the system RAM to speed up access to disk files. But for more than a decade (probably more like two) that function is done at the HDD's own PC board. It contains 8, 16, 32 or 64 MB or its own RAM plus a dedicated cache controller that does the job really well, and nobody devotes any mobo RAM or CPU time to doing it outside the HDD any more. This is all rather transparent, so you and your OS simply think of accessing the HDD, and never think of the HDD's cache RAM that is helping optimize performance.

The speed of the HDD is important in some operations - just how important depends on the operation. Gamers have found in the past that high-rpm drives with fast head access were desirable for them because they wanted minimum time to find the start of a file, because their operations used frequent access to many small files located semi-randomly on the HDD unit. Relational database apps used for lots of queries may also benefit from rapid head seek and disk rpm speeds. In some of these operations, larger on-board cache RAM may help because of the way it is managed (4-way splits). On the other hand, processing of very long files of sequential data is not affected much by head seek speed, but still is impacted by rpm's, and is a bit less sensitive to cache size. There are lots of other factors, too. To appreciate them, try looking closely at some of Tom's detailed HDD performance tests and see which types of operations are more impacted by which HDD parameters.

 

truepurple

Distinguished
Aug 12, 2010
19
0
18,520
Ah, thank you. But some of this seems to clash with what I was told by a different tech guru type person, CheapAsianGamerGuy, that no matter how much RAM you have, the OS still uses virtual memory for transactional-swap-temp files. Is this true?

So I could build a ramdisk and cause it to autoload each turn, and the OS can use that for the those swap files for faster performance?

And 8GB ram is more ram that I am ever likely to need with a i5 760 generation of tech without the use of ramdisk?
 

Paperdoc

Polypheme
Ambassador
truepurple, what you were told is probably true, although others may chime in on this. When it comes to FILES, no OS will place the files in as insecure a place a RAM. Files will always be placed on "disks" which are permanent. Now, if you create a RAM disk and direct your system to use that "disk" for certain files, it will do that because it does not know that you've fooled it by placing the "disk" in RAM. BUT, some of the file types you mention are managed entirely by the OS, and I'm not sure you could force the OS to place all its .tmp files (for example) on, say, drive H: which happens to be the RAM disk you created at start-up time. I really do not know whether this can work. Hopefully others can answer.