Date: Wed, 11 Aug 2010 13:08:51 -0700 From: Artem Belevich <fbsdlist@src.cx> To: freebsd-fs@freebsd.org Subject: Re: zfs arc - just take it all and be good to me Message-ID: <AANLkTin-YvEzoN-ThwwDAqn2mWFMD4-7BnP8N95EqTk0@mail.gmail.com> In-Reply-To: <20100811192537.GA44635@tolstoy.tols.org> References: <20100810214418.GA28288@tolstoy.tols.org> <20100811014919.GA52992@icarus.home.lan> <20100811192537.GA44635@tolstoy.tols.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> The bottom line of my original mail was: > - Hey, I set the arc to just take all my RAM > - It grows on reads and writes > - It shrinks when programs need the memory it has. > - It behaves well in a scenario of combined read/write/other programs. > - This is good, really good, what is dangerous about my settings that > =A0not everybody just sets the arc to nearly all their physical memory on > =A0FreeBSD? The issue is that ARC will give up memory even if there's plenty of it available and sitting in inactive/cache queues. That's particularly nasty in case your system uses some other filesystem besides ZFS. For example try tarring up few gigabytes worth of data from UFS filesystem and see how far your ARC size shrinks. It could be mitigated by setting minimum ARC size to be large enough so ZFS performance does not degrade. The downside is that ARC will not give up memory below its minimum no matter what, so if your APP really needs it, it would have to go to swap. There's a hack floating around that attempts to force kernel into freeing up memory from inactive/cache lists before draining ARC. It does help a bit with this issue, but it's still a hack. --Artem
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTin-YvEzoN-ThwwDAqn2mWFMD4-7BnP8N95EqTk0>