|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Art Alexion wrote:
> So what happens to a Linux system without swap that runs out of physical
> memory?
Linux has a routine called the out-of-memory killer that takes case of
this. The name does a good job of implying how it works. Processes are
killed and their memory is freed. The algorithm attempts to get the
most space from the fewest killed processes, with some emphasis on
trying to find ones the user won't mind losing too much.
Processes that were recently started that use lots of RAM and are niced
and don't have admin privileges tend to be the first to go.
> how does it manage that extra memory demand?
Once memory has been freed - just like any other request for RAM.
> My guess is, whatever
> it does is not as fast as if it could use swap.
Oh, I suspect that the OOM killer is a whole lot faster than swap, for
the same reason that torching your house is a whole lot faster than
renting a uhaul and a storage shed.
> If that wasn't the case, it
> would seem that no system would ever benefit from swap.
>
Well, in the sense that in an office with a really big paper shredder
has no need for filing cabinets, that would be correct.
Suffice it to say, running out of RAM on a linux system isn't a good
thing. The OOM killer is a good solution to some process going nuts and
allocating GBs of RAM, but otherwise it is the sledge hammer solution.
Keep in mind that swap also allows for infrequently accessed data to be
swapped out in favor of disk cache, so it can in theory benefit a system
even when all of the physical RAM is not needed for process working space.
Gordon Dexter wrote:
> Actually that piques my curiosity... how exactly does the kernel react
> to the traumatic loss of it's swap partition? Anybody have any
> experience or expertise here?
With even less grace than it handles running out of physical memory.
You can almost guarantee a panic, though there might be situations where
the kernel can recover. It isn't uncommon to run your swap on raid on a
high-availability system. If you want to experiment just boot a live CD
and set up some swap on a removable drive - you won't lose anything that
way. If you need to fill up ram set up a tmpfs.
___________________________________________________________________________
Philadelphia Linux Users Group -- http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|