Memory starvation in linux

From: Buddy Lumpkin
Date: Mon May 24 2004 - 06:10:14 EST


What is the proper way to determine that memory is low in linux?

In solaris, after Solaris 8 it is sufficient to check for a non-zero scan
rate in vmstat output which represents whether the two-handed clock
algorithm is running looking for pages to evict. Since it only turns on when
free physical memory (freemem) reaches 1/64 total physical memory (lotsfree)
it's a decent indicator of starvation.

Previous to Solaris 8, it was far more complex. File system I/O would fill
up the pagecache and this would qualify as used memory. This mean that on an
I/O bound system, the scanner would run regardless. There was a bandaid for
this called priority paging where you could look to see if freemem was
between two watermarks, (lotsfree and cachefree) but otherwise you just had
to guess by observing the number of filesystem page ins/outs vs executable
and anonymous page outs.

What is the proper way to go about checking memory utilization in linux?
Does the pagecache count as free memory in linux or does it compete freely
with executable and libraries to stay resident?

I would love to RTFM if someone would just please direct me to the "fine
manual" I

Thanks in advance,

--Buddy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/