Kernel - maxusers, NMBCLUSTERS etc.

Vitali Malicky life at
Wed Aug 13 08:29:52 PDT 2003


> On Wed, Aug 13, 2003 at 10:46:59AM -0400, Grant Peel wrote:
> > 1. Does anyone use the maxusers=0 parm? If so is it safe, ie does it
> > dynamicly set maxusers on-the-fly, or does it only set at boot time
based on
> > the current number of users?
> Yes and Yes, the setting is assigned at boot time and depends on an
> algorithm which you can read about in tuning(7) IIRC.
> I would say give it a go and see how it fairs.  Check out sysctl -a for
> your current settings and see how it changes when you set MAXUSERS to 0.
> Also check out fstat(1) to see what open files you currently have and what
> is consuming your file descriptors - perhaps you can cut down the number
> of open files.

You should have read the documentation more attentively. there it says:
---- begin ----

"The maxusers option sets the size of a number of important system tables.
This number is supposed to be roughly equal to the number of simultaneous
users you expect to have on your machine.

Starting with FreeBSD 4.5, the system will auto-tune this setting for you if
you explicitly set it to 0. In FreeBSD-5.x, maxusers will default to 0 if
not specified. If you are using an version of FreeBSD earlier than 4.5, or
you want to manage it yourself you will want to set maxusers to at least 4,
especially if you are using the X Window System or compiling software. The
reason is that the most important table set by maxusers is the maximum
number of processes, which is set to 20 + 16 * maxusers, so if you set
maxusers to 1, then you can only have 36 simultaneous processes, including
the 18 or so that the system starts up at boot time, and the 15 or so you
will probably create when you start the X Window System. Even a simple task
like reading a manual page will start up nine processes to filter,
decompress, and view it. Setting maxusers to 64 will allow you to have up to
1044 simultaneous processes, which should be enough for nearly all uses. If,
however, you see the dreaded proc table full error when trying to start
another program, or are running a server with a large number of simultaneous
users (like, you can always increase the number and

  Note: maxusers does not limit the number of users which can log into your
machine. It simply sets various table sizes to reasonable values considering
the maximum number of users you will likely have on your system and how many
processes each of them will be running. One keyword which does limit the
number of simultaneous remote logins and X terminal windows is pseudo-device
pty 16."

--- end ---

also, at the bottom of the page there is a little note:

"The auto-tuning algorithm sets maxuser equal to the amount of memory in the
system, with a minimum of 32, and a maximum of 384."


Hence, gentlemen, assigning "0" (ZERO) to the MAXUSERS options signifies
"options MAXUSERS=384"

So, if you need more you can assign max allowed value to the MAXUSERS
"options MAXUSERS=512"

As for NMBCLUSTERS, comment it out in you kernel config file and the system
will be tuning it automatically according to the REAL needs.

Error Code=-1 Continue?
              Yes | No

> --
> Jez
> _______________________________________________
> freebsd-questions at mailing list
> To unsubscribe, send any mail to
"freebsd-questions-unsubscribe at"

More information about the freebsd-questions mailing list