2009/1/13 Matt Sealey <matt(a)genesi-usa.com>om>:
Rob OpenSuSE wrote:
> 2009/1/12 Larry Stotler <larrystotler(a)gmail.com>om>:
>> On Mon, Jan 12, 2009 at 3:02 PM, Matt Sealey <matt(a)genesi-usa.com> wrote:
>>> If you have 4GB or 8GB of memory it is nothing to care about, but
>>> users put in this memory to run applications, not to provide space for
>>> 50 boot services which sit idle, most of which are only there to
>>> provide people with large amounts of memory to get things done
>>> quicker. This is not very friendly to those who run in more
>>> constrained environments. I'm not looking for GNOME etc. to run in
Linux does not
swap!!! It's a demand paged virtual memory system.
Those "idle" processes, will relinquish their clean pages, to be
re-read in on demand by page faults from disk, and anonymous dirty
pages can be saved in the (misnamed) swap space by the VM.
I really don't think there is any distinction to be made here.
You swap a page in physical memory for one on some backing store. The
terminology is naive but correct.
Except that as someone of your background knows, that a "swapping" ie.
evicting all memory pages of a process, saving them to disk, is a
different memory technique, commonly used in past on multi-user
systems when physical memory was larger than the logical address space
The point is, those "idle processes" do not sit there, hogging RAM.
However loading anything else in started really going
at the page file.
On a slow disk this is an absolute nightmare.
I've seen heavy usage of swap space, on 256MiB system, under KDE4
desktop, FF3 and YaST software management, which really did want
nearer 400MiB, than 256MiB. And I actually used the slowest disk I
have that actually does UDMA correctly (a 4GB model circa 1999).
But what are reasonable expectations in this situation? It is clear
that switching between those tasks, that the working set size is
exceeded, and a delay is inevitable. The system did not go into a
meltdown where, it took minutes rather than seconds to become
There are two schools of thought on this; one, is that
be stored in RAM and RAM only until significant memory pressure arises. The
other, is that data should live mostly in swap and only be put into RAM when
it's actually used.
Windows likes to keep it the second way and there is a kernel developer who
likes swappiness set really high (I forget his name.. was it Andrew
Morton?). As long as you have enough of a swap cache and a fast enough disk
this is awesome. I actually think this is the right way to do it.
However, if your disk is slow (USB, NFS, DMA-less ATA), you're pretty much
tied to how fast your disk is, which is.. very bad indeed. Couple it with a
low amount of memory, and you basically have no way out.
It's whether you write dirty pages to swap, which are not backed by
files, for instance executable programs. When you look for a new
page, it's always faster to throw away a clean or a cache page. The
consequence of keeping all written to data pages in memory, and not
having them saved by the backing store, is that you never reclaim
those pages, from the idle processes, complained about.
My test backs up Andrew Morton, without swappiness being set high,
swap space is unused, which means the system is doing more page faults
than it otherwise would because, it's not able to evict data pages of
little used processes in favour of working set of running processes,
and OS cache.
Where it makes sense to have swappiness set low, is when nightly
(luncthime?) batch jobs are run, doing things like index builds for
desktop searches, locate or something like a virus scanner, which are
done once, and you know that the files they read in won't be
reaccessed; though there are ways for applications to hint that
they're "read once". That reduces the perceivable lag, when an idle
desktop application is used and needs to reclaim memory.
Small memory 128MB, slow disk (USB, NFS, PIO-ATA) and running large
programs, look like badly specified configuration to me. Not having
anon data saved in a swap space isn't going to help things. You still
will seek like crazy, servicing page faults.
This is the same problem that windows has. Too many
apps think they
are the most important thing you'll never use.
There are none :D
This is the problem in the thread. I've mentioned specific counter
examples, to disagree with certain generalisations, and suggested
configuration issues (candidates like nepomuk / beagle). Nothing
constructive comes out of generalisations.
We're not talking anymore about "KDE uses
too much memory as an application"
but "SUSE loads far too much on boot". It's not just the desktop..
every service, every module, that is installed by default and enabled by
default, which significantly reduces the amount of memory available for
The thing is, the system runs fine with 256 MiB, if you're not
expecting to both browse and run other applications. These idle
processes should only affect boot times.
Finally OS provides a "Net Install" which allows fine-grained choices,
and you can install a minimal system. If you have a low amount of
memory it's unreasonable not to use that option, but expect defaults
made for Live CD or a general desktop install to be altered, that
inconveniences the less knowledgeable desktop user.
To unsubscribe, e-mail: opensuse-factory+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-factory+help(a)opensuse.org