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>
