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