SunSolve Internal

Infodoc ID   Synopsis   Date
2167   Kernel variables/capacities and limits   25 Feb 1996

Description Top

This section describes certain kernel limits.  Some of these  may
be set by users or systems administrators; others are fixed for a
particular configuration.  These limits can  cause  a  number  of
problems when exceeded.  They are documented here so that you can
advise customers whose systems are misbehaving at, near, or above
these limits.

Variables covered are:
	maxusers nproc MAXUPRC ninode nfile SWAPWARN
	plus an unnamed variable returned from the getdtablesize(); system call




Variable:       maxusers
---------	--------
Meaning:        This variable is misnamed.  It only approximates the
                maximum number of simultaneously active users on
                a system but is not a hard limit.  Six other system
                parameters depend on it.  They are:  nfile,
                nproc, ncallout, ndquot, ninode, and
                nclist.

Where defined:  Edited in /usr/sys/<arch>/conf/<config- file>

Value, range,   4 or 8 in the GENERIC kernel;  
or formula:	May  be  reconfigured in the kernel being examined.  
		To configure, allow one user for each timesharing user, one for
		each window typically used, one for each diskless client served.

Error Messages  none

For  more       Chapters  9  and  22  of   System   &   Network
information:    Administration Manual



Variable:       nproc
---------	-----
Meaning:        The maximum number of processes that may be
                running at any one time.

Where defined:  usr/sys/conf.common/param.c

Value, range,   10 + 16*MAXUSERS
or formula:

Error messages: o %d not in pgrp hash table
                o Error in search (for process id)

For more        Chapter 22 of  System  &  Network  Administration
information:    Manual, 700; sys/os/kern_proc.c, sys/os/prot.c.



Variable:       MAXUPRC
---------	-------
Meaning:        The maximum number of user processes that may
                be running at any one time.  Five processes are
                allowed for the kernel; also a non-superuser is not
                allowed the last free process.

Where defined:  usr/sys/conf.common/param.c

Value, range,   NPROC - 5
or formula:

Error messages: o System process table is full.
                o User is not privileged.
                o Error: no memory.

For more        sys/os/kern_fork.c
information:



Variable:       ninode
---------	------
Meaning:        The maximum number of inodes.

Where defined:  usr/sys/conf.common/param.c

Value, range,   (NPROC + 16 + MAXUSERS) +64 + 12*MAXUSERS
or formula:

Error messages  o Error in getvnodefp.
                o Error in old stat system call.
                o Error in getting attributes.

For more        Chapter 22 of System & Network Administration
information:    Manual, sys/os/vfs_xxx.c



Variable:       nfile
---------	-----
Meaning:        The number of file table structures.  One file table
                structure is used for each open, unshared, file
                structure.

Where defined:  usr/sys/conf.common/param.c

Value, range,   64 + 16*()/10 if no windows (i.e. if NWIN=0).
or formula:     64 + 16*(NPROC+16+MAXUSERS)/5 if windows
                are being used (i.e. if NWIN>0).

Error messages: none

For more        Chapter 22 of System & Network Administration
information:    Manual



Variable:       SWAPWARN
---------	--------
Meaning:        Minimum amount of swap space in 512-byte blocks
                before a warning is issued.

Where defined:  usr/sys/conf.common/param.c, autoconf.c:swapconf().

                There are 2 ways to increase the swap space:  1) In a
                diskless client, use mkfile.  2) Set up a second
                swap partition.  To increase the size remaining
                before a warning, add an options line to the
                configuration, e.g. options SWAPWARN= 1024.

Value, range,   Default is 256K bytes (i.e., value is 512)
or formula:

Error message:  WARNING:  swap space is probably too small.

For more        System & Network Administration Manual, pages
information:    246-248.


Variable:       This variable has no name; it is returned from the
---------       getdtablesize(); system call

Meaning:        The number of file descriptors.  Prior to Release
                4.1, this was a constant value.  In 4.1, the value
                will change within a process only if that process
                alters the value.

Where defined:  sys/os/descrip.c; dependent on OS; use the
                c-shell limit command

Value, range,   > 077; soft limit of RLIMIT_NOFILE.
or formula:     RLIMIT_NOFILE is defined in resource.h as the
                maximum descriptor index + 1.  Its initial soft limit
                is 64 and its initial hard limit is 256.

Error messages: o Not configured.

For more        Chapter 6 of 4.1 Release Manual,45;
information:    sys/os/init_sysent.c, kern_descrip.c, syscalls.c

SOLUTION SUMMARY:
Patch ID n/a
Product Area Kernel
Product Config
OS Solaris 1.x
Release n/a
Hardware n/a

Top

SunWeb Home SunWeb Search SunSolve Home Simple Search

Sun Proprietary/Confidential: Internal Use Only
Feedback to SunSolve Team