Date: Fri, 17 Apr 2009 15:59:55 -0500 From: Dan Nelson <dnelson@allantgroup.com> To: ticso@cicely.de Cc: Alexander Leidinger <Alexander@leidinger.net>, Marius =?utf-8?Q?N=C3=BCnnerich?= <marius@nuenneri.ch>, current@freebsd.org, fs@freebsd.org Subject: Re: ZFS: unlimited arc cache growth? Message-ID: <20090417205955.GK90152@dan.emsphone.com> In-Reply-To: <20090417190551.GT11551@cicely7.cicely.de> References: <20090417145024.205173ighmwi4j0o@webmail.leidinger.net> <20090417141817.GR11551@cicely7.cicely.de> <b649e5e0904170928p1568329bwb2f8a5f0f9b4f698@mail.gmail.com> <20090417190551.GT11551@cicely7.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Apr 17), Bernd Walter said: > On Fri, Apr 17, 2009 at 06:28:29PM +0200, Marius NĂ¼nnerich wrote: > > On Fri, Apr 17, 2009 at 16:18, Bernd Walter <ticso@cicely7.cicely.de> wrote: > > > On Fri, Apr 17, 2009 at 02:50:24PM +0200, Alexander Leidinger wrote: > > >> I monitored (by hand) a while the sysctls > > >> kstat.zfs.misc.arcstats.size and kstat.zfs.misc.arcstats.hdr_size. > > >> Both grow way higher (at some point I've seen more than 500M) than > > >> what I have configured in vfs.zfs.arc_max (40M). > > > > > > My understanding about this is the following: vfs.zfs.arc_min/max are > > > not used as min max values. They are used as high/low watermarks. If > > > arc is more than max the arc a thread is triggered to reduce the arc > > > cache until min, but in the meantime other threads can still grow arc > > > so there is a race between them. > > > > Hmm, if this is true the ARC size should go down to arc_min once it did > > grow past arc_max and no new data is coming along but I do not observe > > such a thing here. It simply stays near but below arc_max here all the > > time. I have only /home on ZFS with moderate load. > > I had a few ideas why this could be, but scanning complete sys showed no > point at all where arc_min is used. There are formular to set this value, > but that's all I find. zfs_arc_{min,max} are just tunables. The real variables arc_c_{min,max} get autosized and then capped to {min,max} in uts/common/fs/zfs/arc.c:arc_init() . -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090417205955.GK90152>