Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Sep 2001 21:25:04 +0200
From:      Wilko Bulte <wkb@freebie.xs4all.nl>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        Poul-Henning Kamp <phk@critter.freebsd.dk>, David Greenman <dg@root.com>, Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>, bright@wintelcom.net, hackers@FreeBSD.ORG
Subject:   Re: Conclusions on... was Re: More on the cache_purgeleafdirs() routine
Message-ID:  <20010926212504.B26461@freebie.xs4all.nl>
In-Reply-To: <200109232109.f8NL9kU88657@earth.backplane.com>; from dillon@earth.backplane.com on Sun, Sep 23, 2001 at 02:09:46PM -0700
References:  <96469.1001237641@critter> <200109231040.f8NAeXw86352@earth.backplane.com> <20010923124702.B9914@freebie.xs4all.nl> <200109232109.f8NL9kU88657@earth.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 23, 2001 at 02:09:46PM -0700, Matt Dillon wrote:
> 
> :Has the problem of small-memory machines (< 64M IIRC) solved now? As I
> :understand it vmiodirenable is counter-productive for these boxes. 
> :Maybe one could decide on-boot whether the amount of mem is enough to 
> :make it useful?
> :
> :Just a thought of course.
> :
> :|   / o / /_  _   		email: 	wilko@FreeBSD.org
> 
>     Small memory machines never had a problem.  Even though there can be

Then I suggest the following to be changed:

#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# $FreeBSD: src/etc/sysctl.conf,v 1.5 2001/08/26 02:37:22 dd Exp $

vfs.vmiodirenable=1     # Set to 1 to enable the use of the VM subsystem to
                        # back UFS directory memory requirements. Because of
                        # the amount of wasted memory this causes it's not
                        # advised for machines with less than 64MB of RAM,
                        # on machines with more than 64MB it can provide a
                        # substantial benefit related to directory caching.

That was what I read and confused me ;)

>     considerable memory inefficiencies using vmiodirenable (e.g. a directory
>     less then 512 bytes eats 512 bytes of physical ram with vmiodirenable
>     turned off, and 4K with it turned on), there are two compensating factors:
>     First, the VM Paging cache is a cache, so the cached directory blocks can
>     be thrown away.  Second, the VM Page cache has all of memory to play
>     with while the buffer cache with vmiodirenable turned off on a 64MB
>     machine will reserve less then a megabyte to cache directories.  #2 is
>     important because it leads to more I/O which has a far greater effect
>     on the system then memory waste.  Also, if you look at the typical
>     program's memory footprint and assume that actively accessed directories
>     eat 4K, the memory used to hold the active directories winds up being
>     almost nothing compared to the RSS of the program using those directories.
>     Single-use directories (e.g. make buildworld) are recycled in the VM Page
>     cache and do not eat as much memory as you might otherwise think.
> 
>     So even though the memory inefficiency can be up to 8:1 (4096/512),
>     this factor is somewhat deceptive in regards to the actual effect on
>     the system.
> 
> 						-Matt
---end of quoted text---

-- 
|   / o / /_  _   		email: 	wilko@FreeBSD.org
|/|/ / / /(  (_)  Bulte		Arnhem, The Netherlands	

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010926212504.B26461>