You people should stop LOLing, the OP is not retarded and here are some reasons to hate virtual memory:
- contrary to popular belief, Windows is not writing to the pagefile when it's out of memory, it's doing it since second 0, filling the paging file with data just in case it runs out of memory. What you're thinking about is linux, whose default behaviour is like what you would expect, and there are tunable parameters in any case.
- now, that's a very good way to kill your (TLC everywhere) SSD, writing stuff to it all day long.
- also that's a great way to create interference to your 100 IOPS HDD just when you want to use it for a real reason.
- while in linux applications can allocate 2TB of memory and nobody gives a crap until you actually use the pages, in Windows the application can demand 8GB of memory to be virtual-memory backed, just in case it ever needs it. Usually, those are the problematic applications, those that will create enormous traffic in the paging file while in practice you never need all that memory cause your workloads are simply not that big.
Windows gives more control of the system's memory to the programmer, whereas in linux virtual memory is mostly transparent, the applications don't really control the swap files. I'm in the tough spot of admitting that I'd like less powerful APIs for applications in this case, just so that I can always get rid of the paging file safely, just like I do in linux.
For the bunch that will say "what if an application has a memory leak", "what if you want to use a VM", "what if your application runs out of memory" I will proudly say:
- please OS, kill my hog application. I'd rather you do that than make my whole system an unresponsive page-swap-fest where I cannot even move my mouse cursor cause of pagefile hell.
How I use the pagefile:
- under 4GB of RAM, always on
- 4GB of RAM, casual users - off, gaming or power user - on
- 8GB of RAM, light gamers - off, power user - on
- 16GB of RAM or above, always off
Peace