Suggest changing dirhash defaults for FreeBSD 9.2.

Dewayne Geraghty dewayne.geraghty at heuristicsystems.com.au
Thu Aug 29 01:34:07 UTC 2013


> -----Original Message-----
> From: owner-freebsd-stable at freebsd.org 
> [mailto:owner-freebsd-stable at freebsd.org] On Behalf Of Ivan Voras
> Sent: Wednesday, 28 August 2013 7:49 PM
> To: freebsd-stable at freebsd.org
> Subject: Re: Suggest changing dirhash defaults for FreeBSD 9.2.
> 
> On 28/08/2013 05:58, Robert Burmeister wrote:
> > 
> > On 8/27/2013 9:40 AM, Sergey Kandaurov wrote:
> >> On 27 August 2013 16:41, Robert Burmeister 
> >> <Robert.Burmeister at utoledo.edu>  wrote:
> >>> I have been experimenting with dirhash settings, and have scoured 
> >>> the internet for other peoples' experience with it.
> >>> (I found the performance improvement in compiling has forestalled 
> >>> the need to add an SSD drive. ;-)
> >>>
> >>> I believe that increasing the following values by 10 
> would benefit 
> >>> most FreeBSD users without disadvantage.
> >>>
> >>> vfs.ufs.dirhash_maxmem: 2097152 to 20971520
> >>>
> >>> vfs.ufs.dirhash_reclaimage: 5 to 50 or 60
> >> vfs.ufs.dirhash_maxmem is further autotuned based on available 
> >> physical memory.
> >> See r214359 for details.
> >>
> > [Spock Eyebrow of Thought]
> > 
> > I'm running FreeBSD i386 9.2, that allows a max of 4 Gigs of RAM.
> 
> To what value does the algorithm tune in your case? On my 16 
> GB machine, it's ~~ 25 MB:
> 
> vfs.ufs.dirhash_maxmem: 26968064
> 
> > I think the algorithm is still overly conservative for 32 
> bit systems, 
> > which are more likely to be using UFS.
> > 
> > As 64 bit platforms tend to have more RAM and use ZFS, is the same 
> > tuning algorithm appropriate for both?
> 
> The policy is to use fractions of the installed RAM (though 
> in a roundabout way), so it should scale reasonably well to 
> both systems with large and small memories.
> 
> I'll bump vfs.ufs.dirhash_reclaimage to 60, it's worth it.
> 
> 
> 

Ivan, 
>From the analysis perforned in 2009, and referenced earlier by Robert, this
https://wiki.freebsd.org/DirhashDynamicMemory and other material at this site,
indicates that the reclaimage interval is workload dependent and that 5 to 8 seconds seems, on average, to be adequate.

We perform quite a detailed analysis before changing our sysctls for customers' servers that range from 32bit machines with between
1G and 4G of memory, and 64bit with 30G of memory, incidentally all are UFS2. Is the discussion, rather than (synthetic) workload
performance, sufficient to warrant changing the default settings by a factor of 12? 

Regards, Dewayne.



More information about the freebsd-stable mailing list