HP CIFS Server Administrator's Guide Version A.03.01.01 (5900-1282, May 2011)

(16*(nproc+16+maxusers)/10+32+2*(npty+nstrpty+nstrtel)). When this tables becomes full,
the console message “file: table is full” will appear on the console.
ninode: this kernel parameters controls the size of the in-core inode table or the inode cache.
To improve performance, the most recently accessed inodes are kept in memory. The default
formula for this parameter is ((nproc+16+maxusers)+32+(2*npty)). Attempts to open a file
beyond the capacity of this table will result in the message “inode table full” being displayed
on the console.
nflocks: defines the maximum combined total number of file locks that are available system-wide
to all processes at any given time. The default value of 200 will need to be increased for HP
CIFS Servers.
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
Configuring Kernel Parameters for HP CIFS 157