HP CIFS Server Administrator's Guide (5900-1282, April 2011)

The second step involves adjusting nproc, nfile, nflocks and ninode individually so as to allow a
large number of users to be connected simultaneously.
1. Configuring maxusers
Determine the maximum number of simultaneous clients that will be connected and add this
number to the current value of maxusers. For example, if 2048 clients are to be supported,
simply add 2048 to the current value of maxusers. Note that, unless the parameters have
been manually changed, adjusting maxusers automatically adjusts the corresponding values
for nproc, nfile and ninodes.
For example, if the default maxusers value of 32 is adjusted to 32+2048 or 2080 to support
the maximum allowable clients of 2048, the other parameters will be adjusted as follows on
a typical system:
nproc will be increased to 8,468
nfile will be increased to 15,656
ninode will be increased to 9,692
If these values are found to be too large or too small for that matter, then the individual kernel
parameters can be adjusted as described below.
2. Configuring nproc, nfile and ninode.
nproc: since each client will be handled by one unique smbd process, and each process
will take up one entry in the process table, this parameter has to be at least equal to the
maximum number of simultaneously connected clients. This is a necessary condition, but
it will obviously not be sufficient since there will be others processes, including system
processes beyond your control, that will take up proc table entries. In practice then, this
parameter needs to be set to the anticipated maximum number of clients plus the number
of the other processes that will also be running concurrent with HP CIFS.
nfile: when an SMBD process is launched, it will, right at the beginning, take up 28 entries
in the system file table.
This does not include any other files that the client will open and operate on. At a minimum,
therefore, the value of nfile, should be equal to the anticipated number of simultaneous
clients times (28 + the anticipated number of files simultaneously opened by each client).
Again, this is necessary, but it may not be sufficient, since there will be other non-HP CIFS
processes that will have files opened, concurrent with HP CIFS.
ninode: unlike nfile, each instance on an open will NOT increase the number of inode
entries. Rather, each unique opened file will only take up one entry, regardless of how
many times it is opened. Therefore this parameter should be set to the anticipated number
of UNIQUE open files used by HP CIFS plus the number opened by other processes in
the system.
nflocks: each smbd process will utilize at least ten file locks. Therefore, the value of nflocks
should, at least, be equal to the anticipated number of simultaneous clients, multiplied by
ten (10). The use of nflocks by other applications must also be considered.
Swap Space Requirements
Due to the one-process-per-client model of HP CIFS, perhaps the most stringent requirement imposed
on the system is that of swap space. HPUX reserves a certain amount of swap space for each
process that is launched, to prevent it from being aborted in case it needs to swap out some pages
during times of memory pressure. Other operating systems, only reserve swap space when it is
needed. This results in the process not finding the swap space that it needs, in which case it has
to be terminated by the OS.
Each smbd process will reserve about 2 MB of swap space and depending on the type of client
activity, process size may grow up to 4 MB of swap space. For a maximum of 2048 clients, 4 *
154 HP-UX Configuration for HP CIFS