HP-UX HB v13.00 Ch-20 - CIFS

HP-UX Handbook Rev 13.00 Page 37 (of 40)
Chapter 20 CIFS
October 29, 2013
here is a detailed calculation to determine how to increase nfile: increase nfile by NFILE,
where NFILE does only concern the filetable entries used by Samba.
NFILE = #(files of daemons) + #(of estimated smbd's) *
[#(files open for plain smbd)
+ #(estimated simultanious open files by one user/session)]
where:
#(files of daemons) = #(files by nmbd -D) + #(files by smbd -D)
#(files of daemons) = [10 + 2* #(IP's configured in samba)] + 12
#(files open for plain smbd) = 20
#(estimated simultanious open files by one user/session)
#(open user files)
nfile ruled by maxusers:
If you choose to fit parameters by using the maxusers macro you would best change the formula
as follows:
nfile = 16(nproc + 16 + 3* maxusers)/10 + 32 + 2*(npty + nstrpty + nstrtel)
the "3*maxusers" represents the fact that Samba 2.2 uses 3 times more filehandles as previous
versions. Remember that nproc in this formula depends on maxusers as well.
nfile ruled by nproc:
If you choose to fit parameters separately not using the maxusers macro you may want to use
nproc to rule the size of nfile. We suggest the change of the formula as follows:
nfile = 16(20* nproc + 16 + #(open user files)* maxusers)/10
+ 32 + 2*(npty + nstrpty + nstrtel)
the "20*nproc" represents the open files for each smbd and "#(open user files)* maxusers "
represent the files opened during user operations. These have been added to the formula and
might be useful for systems doing mainly Samba.
Memory:
It is recommended to have approximately 1.173MB memory per smbd with respect to the
resident set size of the private memory regions.
About ninode:
The "inode Cache" means the number of referenced files in cache memory used for inode. In the
tables of the document, the increasing in the column of inode cache completely depends on
torture tool usage. smbtorture used for the test simulating one client each consumes 1 inode of
the torture file so that each 100 client connections would generate about 100 inode consuming. If
you take a look at the function call rw_torture() in utils/torture.c, then it's clearly shown. Thence
inode cache would be affected in application environment, and must be less than ninode