[comp.sys.sun] using maximum swap?

SYSRUTH@utorphys.bitnet (Ruth Milner, Systems Manager x2746) (01/25/89)

I recently reconfigured our 3/180, running OS3.4 with 16 MB of physical
memory, to have a total of a little over 90MB of swap (pstat -T says 913
00k), in two segments roughly 45 MB each (on two different disks).  One of
our users has a program which requires 64MB of virtual memory, and I
figured the extra >26MB would be enough to ensure he could always get it
under normal loading conditions. But SunOS seems to have decided
otherwise. After invoking /usr/etc/swapon -a  in /etc/rc, to add xl0b as
described in /etc/fstab, I get the following information from pstat -s:

6240k used (1632k text), 85098k free, 1408k wasted, 0k missing
max process allocable = 61424k
avail: 39*2048k 2*1024k 2*512k 4*256k 3*128k 6*64k 4*32k 7*16k 122*1k

The problem is that middle line, which seems to imply that the maximum
swap a given process can allocate is 61.4 MB. Why, when there's another
24MB available, can't it get the 64MB it needs? I have tried setting a
value for nswbuf in the kernel. Originally it was autoconfiguring to 32; I
have hardcoded this to be 64 using adb, and it makes no difference.  With
only one swap area, the max. allocable is 42992k. Why doesn't this figure
approximately double with the addition of the second swap area?

dkinfo reports xl0b as

b: 90885 sectors (73 cyls)
   starting cylinder 1    (see below)

Any help is much appreciated.

BTW, if you're intending to set up a second swap area on a new disk,
*don't* make it the first partition. Unlike regular filesystems, swap
doesn't care about the disk label in 0/0/0, and it will trash it.  (But
could I find any mention of this in the SysAdmin manuals? noooooo ...)
Either put a filesystem in front of swap, or give up the first cylinder.

Ruth Milner
Systems Manager
University of Toronto Physics