Need info on swapping
Jerry Feldman
gaf at blu.org
Fri Aug 30 11:43:36 EDT 2002
Linux likes to utilize most of your system memory most of the time. It
tends to use it for cache. As programs demand more memory the system will
simply give up some of the physical memory it is using for efficiency
purposes. And, at some point you will start swapping.
Mapping is a bit different. Unix systems have two ways of memory
allocation. The old way is to grow the program's heap using the brk(2) and
sbrk(2) functions, which are being deprecated, and the other is mmap(2).
Mmap(2) is much more flexible because you can actually map parts (or all )
of files.
When you run a program, the text segment (eg. the instructions) is
generally mmaped read only. The reason for this is simple: does not take up
swap space, AND it can be shared. So, when several processes are using the
same program, only one copy of the text segment would be used (of course
that is going to be broken down into pages and paged in as nexessary), The
same goes for libraries.
In your case specifically, it could be that there is a problem with
libc.so.6.
Additionally, some daemons lock themselves (or parts otf themselves) in
physical memory (it is sometimes called wired). libc.so is the library that
contains most of the stuff that just about every program uses in a system.
Also, you might be running into a hard or soft system limit. Try running
ulimit -a. Most everything should be unlimited, but your system
configuration may have a limit for process memory size or something like
that.
On 30 Aug 2002 at 11:08, Brenda Bell wrote:
> I was debugging through a problem on my Drake 8.2 box last night
> and discovered (or think I discovered) that I have a low-memory
> condition.
--
Jerry Feldman <gaf at blu.org>
Associate Director
Boston Linux and Unix user group
http://www.blu.org PGP key id:C5061EA9
PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
More information about the gnhlug-discuss
mailing list