[comp.unix.wizards] vmunix: stropen: out of streams in SunOS 4.0 ??

eho@clarity.Princeton.EDU (Eric Ho) (10/12/89)

Has anyone out there seen such things before ?

I keep getting these "vmunix:  stropen: out of streams" messages on my Sun-4
server. We are running SunOS 4.0 on the entire net.  The server is a
Sun-4/280S-24 running GENERIC kernel. It usually happens when we've a lot of
users login to the server or when the load of the server is high.  The server
has a standard Eagle & a Hitachi DK15 -- both of them hooked off a Xylogics
451.  Other things on the server include a 1/4-inch scsi cartridage tape drive
and an ALM-1 board.  And I've already allocated over 35 meg of swap for the
server.

My initial guess is that there is something weird with the kernel since there
are ample of swap space & ram (24 meg) on this server.

Here is an excerpt from /var/adm/messages :-
==========================================
Oct 11 11:46:46 clarity vmunix: stropen: out of streams
Oct 11 11:47:40 clarity vmunix: stropen: out of streams
==========================================

Any pointers/info would be much appreciated.
--

Eric Ho  
Princeton University
eho@confidence.princeton.edu

konczal@mail-gw.ncsl.nist.gov (Joe Konczal) (10/12/89)

Although I've never had this problem, it looks like you are running
out of space in a kernel table, which doesn't seem awfully wierd on a
heavily loaded system.

It's so easy to reconfigure the SunOS 4.0 kernel you might hardly need
to look at the instructions in "System and Network Administsration",
Chapter 9.  According a comment near the top of the generic
configuration file, /usr/share/sys/sun4/conf/GENERIC, the sizes of
"various kernel data structures" are controlled by `maxusers'.
Increase `maxusers' and your problem will probably go away until a lot
more users login or the load of the server is even higher.  You might
as well remove all the things you don't need from your kernel
configuration while you're at it.  I doubled `maxusers', from 8 to 16,
on my Sun 3, commented out most of the configuration file, and ended
up with new kernel 20% smaller than the generic kernel.

Joe Konczal

guy@auspex.auspex.com (Guy Harris) (10/17/89)

 >Although I've never had this problem, it looks like you are running
 >out of space in a kernel table, which doesn't seem awfully wierd on a
 >heavily loaded system.

That's what's happening.

 >It's so easy to reconfigure the SunOS 4.0 kernel you might hardly need
 >to look at the instructions in "System and Network Administsration",
 >Chapter 9.  According a comment near the top of the generic
 >configuration file, /usr/share/sys/sun4/conf/GENERIC, the sizes of
 >"various kernel data structures" are controlled by `maxusers'.
 >Increase `maxusers' and your problem will probably go away until a lot
 >more users login or the load of the server is even higher.

That may not help.  The table in question is the table of stream heads,
and it's not controlled by "maxusers" in 4.0 or 4.0.1, although it is so
controlled in 4.0.3.  You have to tweak NSTREAM in the "param.c" file
for your kernel - or tweak the generic "param.c" in
"/usr/share/sys/conf.common" to be a function of MAXUSERS (4.0.3 has it
as "24 + 2 * MAXUSERS") or wrap

	#ifndef NSTREAM
	...
	#endif

around it and put "options NSTREAM=xxx" in your config file.

>You might as well remove all the things you don't need from your kernel
>configuration while you're at it.

"While you're at it"?  I hope nobody out there is running generic 4.0.x
kernels - you're paying for all sorts of drivers and possibly file
system types that you don't need unless your Sun is loaded up like a
Christmas tree.  Run a configured SunOS kernel - this definitely goes
for 4.x, but also goes for 3.x as well, and may well go for other
systems such as Ultrix....