Date: Sun, 12 Oct 2008 01:43:36 -0700 From: Jeremy Chadwick <koitsu@FreeBSD.org> To: Nate Eldredge <neldredge@math.ucsd.edu> Cc: freebsd-hackers@freebsd.org, Pegasus Mc Cleaft <ken@mthelicon.com> Subject: Re: ZFS boot Message-ID: <20081012084336.GA84786@icarus.home.lan> In-Reply-To: <Pine.GSO.4.64.0810111615020.16737@zeno.ucsd.edu> References: <E1KoeVm-000ELP-4b@cs1.cs.huji.ac.il> <b269bc570810111337l4a8f9fc9yfc6f5959d7c971fd@mail.gmail.com> <Pine.GSO.4.64.0810111349540.16737@zeno.ucsd.edu> <200810112330.53214.ken@mthelicon.com> <Pine.GSO.4.64.0810111615020.16737@zeno.ucsd.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 11, 2008 at 04:21:55PM -0700, Nate Eldredge wrote: > On Sat, 11 Oct 2008, Pegasus Mc Cleaft wrote: > >>> FWIW, my system is amd64 with 1 G of memory, which the page implies is >>> insufficient. Is it really? >> >> This may be purely subjective, as I have never bench marked the speeds, but >> when I was first testing zfs on a i386 machine with 1gig ram, I thought the >> performance was mediocre. However, when I loaded the system on a quad core - >> core2 with 8 gigs ram, I was quite impressed. I put localized changes in my >> /boot/loader.conf to give the kernel more breathing room and disabled the >> prefetch for zfs. >> >> #more loader.conf >> vm.kmem_size_max="1073741824" >> vm.kmem_size="1073741824" >> vfs.zfs.prefetch_disable=1 > > I was somewhat confused by the suggestions on the wiki. Do the kmem_size > sysctls affect the allocation of *memory* or of *address space*? The Wiki is somewhat vague and doesn't give you all the knowledge you need. The kmem_* sysctls do not define pre-allocated amounts. They define the amount of memory which can be used by the kernel for allocation. I strongly advocate tuning two other sysctls, which can help greatly in ensuring no system lock-ups and no kmem exhaustion panics: vfs.zfs.arc_min vfs.zfs.arc_max The following values are what I use, but others have reported better performance with arc_max set to 128M: vfs.zfs.arc_min="16M" vfs.zfs.arc_max="64M" > It seems a bit much to reserve 1 G of memory solely for the use of the > kernel, expecially in my case when that's all I have :) But on amd64, > it's welcome to have terabytes of address space if it will help. ZFS is a memory hog, period. That's just the nature of the beast. You probably should not be using it on a system with 1GB. I'll remind you that memory right now is *incredibly* cheap; you can get 4GB of brand-name lifetime-warranty RAM for around US$40-50. Secondly, with regards to amd64: RELENG_6 and RELENG_7 amd64 cannot handle more than 2GB of kmem. Yes, you read that correct; it's not a typo. It's an implementation issue which cannot be easily solved on those releases. CURRENT can address up to 512GB. I've fully documented this on my Wiki, see section Kernel. http://wiki.freebsd.org/JeremyChadwick/Commonly_reported_issues -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081012084336.GA84786>