HP CIFS Server 3.0k Administrator's Guide version A.02.04

Configuring Kernel Parameters for HP CIFS
The first step in configuring HPUX to be able to support a large number of clients on a HP CIFS
server is to adjust the maxusers kernel parameter.
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
Configuring Kernel Parameters for HP CIFS 187