Quote from Helge Hafting <helgehaf@xxxxxxxxxxxxx>:Well, way too much swap is of course not good. A swap that is half
Anthony DiSante wrote:
As a general question about ram/swap and relating to some of the issues in this thread:This is correct. You now have 512M of fast memory instead of
~500 megs cached yet 2.6.5 goes into swap hell
Consider this: I have a desktop system with 256MB ram, so I make a 256MB swap partition. So I have 512MB "memory" and if some process wants more, too bad, there is no more.
Now I buy another 256MB of ram, so I have 512MB of real memory. Why not just disable my swap completely now? I won't have increased my memory's size at all, but won't I have increased its performance lots?
256M fast memory and 256M "slow" memory. You don't _need_ to have additional
swap, but it is usually a good idea. If you keep your 256M of swap, then you now
have 512M fast memory + 256M slow memory for a total of 768M. This is even better.
I strongly disagree on the last point. It may be better, but it may also
be a lot worse. Too much swap can be a bad thing - see my example in another
post about run-away processes on remote machines.
The problem is that swapping happens. A small swap (no more thanPlease note that your machine _will_ do one kind of swapping even if you
don't configure any swap: Executable files are a kind of swap-files,
if memory pressure happens then (part of) your programs will be evicted
from memory _because_ they can be reloaded from their executables.
This cause the same sort of performance degradations as swapping to
a swap partition. Actually, it is worse because swapping to a swap partition
allows swapping out little-used writeable memory before discarding
program code that might see more use. So if swapping happens, then
you're better off with a swap partition because then it is the least used
stuff that goes first. Without a swap partition, the least used program code
goes, but it may or may not be the least used memory overall.
Again, the user _may_ be better off swapping to a swap partition rather than
having executable code paged out, but this is not necessarily true in all
circumstances.