[comp.sys.alliant] Controlling free memory

weening@Gang-of-Four.Stanford.EDU (Joe Weening) (03/10/90)

When I run "mon -m", the bottom line on the screen shows the current
amount of free memory.  In our system, with 48MB of physical memory,
this number never seems to go much below 5MB.  I'd like to make it
much closer to zero, so that user processes can use more of the
available memory.  Is there a way to do this?

--
Joe Weening                                Computer Science Dept.
weening@Gang-of-Four.Stanford.EDU          Stanford University

collins@osf.org (Jeff Collins) (03/10/90)

In article <1990Mar9.174826.11922@Neon.Stanford.EDU>,
weening@Gang-of-Four.Stanford.EDU (Joe Weening) writes:
> When I run "mon -m", the bottom line on the screen shows the current
> amount of free memory.  In our system, with 48MB of physical memory,
> this number never seems to go much below 5MB.  I'd like to make it
> much closer to zero, so that user processes can use more of the
> available memory.  Is there a way to do this?
> 
> --
> Joe Weening                                Computer Science Dept.
> weening@Gang-of-Four.Stanford.EDU          Stanford University

	That number indicates the amount of free memory.  If there is any free
	memory and it is needed by a program it will be allocated.  In other words,
	if the memory demand on you system was sufficient, then that number
	would go down.  Your next question might be "does my kernel start paging
	to keep that number at 5MB or higher?"  The answer is no.  The kernel is
	very smart about how it allocates physical memory and when it starts
	paging.

	Be satisfied with the fact that your user communitee is not demanding
more than,
	on average, 43MB of physical memory.  If the user communitee needed
more than this
	it would be allocated, and the number would go below 5MB free.

  Jeffery A. Collins				Phone: (617) 621-8958
  Open Software Foundation			FAX:   (617) 225-2782
  11 Cambridge Center				Email: collins@osf.org
  Cambridge MA 02142				       uunet!osf.org!collins

weening@Gang-of-Four.Stanford.EDU (Joe Weening) (03/10/90)

In article <4843@paperboy.OSF.ORG> collins@osf.org (Jeff Collins) writes:

   That number indicates the amount of free memory.  If there is any free
   memory and it is needed by a program it will be allocated.  In other words,
   if the memory demand on you system was sufficient, then that number
   would go down.  Your next question might be "does my kernel start paging
   to keep that number at 5MB or higher?"  The answer is no.  The kernel is
   very smart about how it allocates physical memory and when it starts
   paging.

Saying that the kernel is "very smart" doesn't convince me at all.
Perhaps you could describe the algorithms used by the Alliant kernel.
It certainly doesn't always act reasonably for us.

   Be satisfied with the fact that your user communitee is not
   demanding more than, on average, 43MB of physical memory.

Our user community (not "communitee") demands quite a bit more than
43MB of physical memory.  Actually our user processes demand virtual
memory, and the kernel decides how to allocate physical memory.  But
we're often running several Lisp processes, each of which would get a
running set size of over 20MB if it was running alone.  This along
with the xterm, emacs, csh, etc. processes drives the usage way above
our actual physical memory.

   If the user communitee needed more than this it would be allocated,
   and the number would go below 5MB free.

Sorry, you're making assumptions about our environment and about what
is happening that are simply not correct.

Our free memory sometimes does go below 5MB, but never very close to
zero.  The memory usage of large processes often causes swapping (not
paging) of other processes, which then have to fight their way back
into memory when they become active (like responding to a keystroke).
This happens while there is plenty of free memory available.
--
Joe Weening                                Computer Science Dept.
weening@Gang-of-Four.Stanford.EDU          Stanford University