vfs.ufs.dirhash_maxmem ... how high can I go ?

Oliver Fromme olli at lurza.secnetix.de
Thu Aug 16 10:13:48 PDT 2007


Gore Jarold wrote:
 > Gore Jarold wrote:
 > > Based on the previous discussion, I have decided
 > > to up my dirhash_maxmem and also to start tracking
 > > its usage over time ...
 > > 
 > > I doubled it, then doubled again, then again ...
 > > and the system even hit the 16 MB ceiling.
 > > 
 > > So now I have set it to 32 MB and we will see if
 > > the system can max that out.
 > > [...]
 > 
 > Ok, it just ht the 32 MB limit.

Well, you said you have > 20 million inodes.  If all
of them are accessed, I'm not surprised that your
dirhash memory is maxed out.  In that case FreeBSD
will use up whatever amount you throw at it.

Note that maxing it out is not a problem, it will
just expire and overwrite old entries (it's only a
kind of cache after all).  You can even disable
dirhash completely in your kernel, and the system
should still run fine (albeit somewhat slower).

 > Bad things on the horizon if I up it further ?  Or
 > does my 4+4 GB memory and other details above make
 > it benign ?

Note that the dirhash memory is allocated from kernel
memory, which is limited.  See sysctl vm.kmem_size.
And dirhash is not the only facility in the need of
kernel memory, so you should be careful upping it any
further.  When the system runs out of kernel memory,
it will panic.  (However, you can increase the amount
of kernel memory if necessary.)

In any case, you should perform benchmarks with your
typical application load, in order to find out if
increasing dirhash_maxmem has any positive effect on
it.  If there's no clear performance improvement,
it's not worth wasting kernel memory.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"If you think C++ is not overly complicated, just what is a protected
abstract virtual base pure virtual private destructor, and when was the
last time you needed one?"
        -- Tom Cargil, C++ Journal


More information about the freebsd-fs mailing list