[comp.sys.sgi] SWAPPER/System performance

doelz@urz.unibas.ch (Reinhard Doelz) (10/05/88)

*Problem*:
On an IRIS 4D/80 with 370 megs hard disk and 12 megs of memory, the
swap space is 50 megs, and the command swap -l displays that there are 
usually over 80% free. Big applications in the batch tend to crash, 
dupreg - insufficient memory to allocate ... pages, however, these
are running nicely online. 

*Question*:
How to make a job swap on the disk if others request more memory? I can't
imagine that only the physical memory of the core may be used in the batch.

Any comments/suggestions/flames welcome.

Reinhard 

  
  ************************************************************************
  *   Dr. Reinhard Doelz           *           SWITZERLAND               *
  *     Biocomputing               *                                     *
  *      Biozentrum                * doelz%urz.unibas.ch@relay.cs.net    *
  * Klingelbergstrasse 70          *                                     *
  *     CH-4056 Basel              *                                     *
  ************************************************************************

yohn@tumult.SGI.COM (Mike Thompson) (10/13/88)

. *Problem*:
. On an IRIS 4D/80 with 370 megs hard disk and 12 megs of memory, the
. swap space is 50 megs, and the command swap -l displays that there are 
. usually over 80% free. Big applications in the batch tend to crash, 
. dupreg - insufficient memory to allocate ... pages, however, these
. are running nicely online. 
. 
. *Question*:
. How to make a job swap on the disk if others request more memory? I can't
. imagine that only the physical memory of the core may be used in the batch.
. 
. Any comments/suggestions/flames welcome.
. 
. Reinhard 

When a System V process is exec'd, it preallocates the AMOUNT of swap
space it would need if all swappable pages did, indeed, have to be
swapped, but it does not allocate ACTUAL swap blocks.  So "/etc/swap -l"
indicates only how many blocks currently contain swapped-out blocks.

The ``/debug'' line of a "/bin/df" will show you how many blocks (512
bytes) have been preallocated (amount, not actual blocks) and how many
have not.

While this may be a distinction without a difference, the applications
aren't ``crashing''; exec() system calls are failing (errno EAGAIN) for
lack of swap space.  The process does have the opportunity at this point
to make an orderly retreat.

	Mike Thompson
	SGI