out of streams, the fix

Dan Davison dbd%benden at lanl.gov
Sun Jun 18 13:45:56 AEST 1989


This will be dynamically handled, possibly correctly, in 4.1.

Look in /usr/share/sys/sun[234]/KERNELNAME, at the file param.c.  It
usually looks like this (near the bottom of the file)

[...]
/*
 * Stream data structures.
 * XXX - should be dynamically allocated.
 */
#define NBLK4096          0
#define NBLK2048         32
#define NBLK1024         12
#define NBLK512           8
#define NBLK256          32
#define NBLK128          96
#define NBLK64          240
#define NBLK16          400
#define NBLK4           128
#define NBLK (NBLK4096 + NBLK2048 + NBLK1024 + NBLK512 + NBLK256 + NBLK128 + \
        NBLK64 + NBLK16 + NBLK4)

#define NSTREAM         32
#define NMUXLINK        87
[...]



Make these unbelieveable number much larger.  I use:
[...]
/*
 * Stream data structures.
 * XXX - should be dynamically allocated. changed by dbd 2/18/89
 */
#define NBLK4096           8
#define NBLK2048         256
#define NBLK1024          96
#define NBLK512          256
#define NBLK256         1024
#define NBLK128          768
#define NBLK64          (400 + 20 * MAXUSERS)
#define NBLK16          (800 + 20 * MAXUSERS)
#define NBLK4           (392 + 20 * MAXUSERS)
#define NBLK (NBLK4096 + NBLK2048 + NBLK1024 + NBLK512 + NBLK256 + NBLK128 + \
        NBLK64 + NBLK16 + NBLK4)

#define NSTREAM         32
#define NMUXLINK        87
[...]


But the canonical way to do it is to examine the results of netstat -m
and adjust the numbers accordingly:


genome# netstat -m
[...]
streams allocation:
                                         cumulative  allocation
                      current   maximum       total    failures
streams                     8        25         322           0
queues                     26        95        1255           0
mblks                      11       146     5046608           0

total dblks                11       146     4081791           0
size    4 dblks             0        48      726573           0
size   16 dblks             1        59       83047           0
size   64 dblks             2       101     1346400           0
size  128 dblks             8        45     1133056           0
size  256 dblks             0         2      573129           0
size  512 dblks             0         3        7342           0
size 1024 dblks             0         2       39407           0
size 2048 dblks             0         1      172794           0
size 4096 dblks             0         1          43           0


The idea is to not have any allocation failures.  The numbers I use let me
have about 30 windows up on my 3/60. (and thanks to the Sun tech support
person who explained this to me months ago!)

dan davison / theoretical biology and biophysics/t-10 ms k710/dd at lanl.gov
los alamos national laboratory/los alamos, nm 87545 USA/505-665-1355



More information about the Comp.sys.sun mailing list