HP CIFS Server 3.0f Administrator's Guide verison A.02.03

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
maxuser
s 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 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 * 2048 or about 8
GB of swap space would be required. Therefore, HP recommends configuring enough swap space to
accommodate the maximum number of simultaneous clients connected to the HP CIFS server.
Configuring Kernel Parameters for HP CIFS 171