Yes, the delay you are avoiding is the delay in acquiring page frames for some process which suddenly needs more memory. It doesn't mean that 128 megabytes must always remain free, just that old stuff starts swapping out before you hit a point where you might actually have to wait for a page frame.
Really, think of RAM like your desk and your harddrive like your desk drawers and you as the processor. When your desk is, say, 80% full of clutter... it would be more efficient to put the older items that you know you haven't used a long while into the drawers, now in anticipation of more clutter, than it would be to put the stuff away when you actually need to clean up the clutter to add more items to the desk.
Sent from my iPadŽ
Same, I have a system similar to yours, but no car =( Tax return is going to be a downpayment on a nice car.
Windows will also page when an app hasn't been used in a long time but there is still memory free, I know I have witnessed that on this computer, with 3GB of RAM I shouldn't be paging unless I am gaming or doing other resource intensive task.
Yes, but I do believe they have a ratio of Free RAM to Application Idle Time that the consult with when deciding whether to swap out an idle application. For instance, if you have 2GB of free RAM at any given time, it may not swap out a file until it has been idle, for say, 24 hours or so. I dunno... the calibration of the system might suck, but I'm sure they're considering all of the elements.
Sent from my iPadŽ
Why not? Just because a page gets paged out doesn't mean it is removed from RAM.
Imagine some program A has allocated 16 megabytes, and has gone to sleep, and it has been asleep for a while. The OS can swap all its pages to disk but keep them in RAM as well (so it's not really swapping, but making a copy). Now imagine that extreme memory pressure is suddenly placed on the system. It can immediately throw the pages out of program A's memory without paging them to disk, because they already got paged out a long time ago.
On the other hand, if program A suddenly wakes up again, its pages are all still in RAM and no swapping needs to happen. The OS just clears the swap pages from the swap cache and goes about its business.
Either way, the net effect is a win.
If there is available swap space, and no IO pressure, the system should ALWAYS be swapping out. Why wait until things start slowing down?
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
The point is that it tosses stuff out of RAM even though there's no pressure. Typically running a game can force such a situation, even though the game might not use all RAM available.
Paging is fine, but when it start to drop stuff out of ram for no reason, then things are starting to go wrong.
He just explained you why they aren't.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.