Re: ZFS committed to the FreeBSD base.

From: Kris Kennaway <kris_at_obsecurity.org>
Date: Mon, 9 Apr 2007 21:48:23 -0400
On Mon, Apr 09, 2007 at 08:30:35PM -0500, Craig Boston wrote:
> On Mon, Apr 09, 2007 at 09:11:25PM -0400, Kris Kennaway wrote:
> > Nah, you were right the first time :) Your system is defaulting to
> > 160MB for the kmem_map, of which zfs will (by default) try to use up
> > to 3/4.  Naturally this doesn't leave much for the rest of the kernel
> > (40MB), so you'll easily run the kernel out of memory.
> 
> Hmm, I had already reduced the maximum arc size to 64MB though, which I
> figured (hoped?) would leave plenty of room.
> 
> So if kmem_size is the total size and it can't grow, what is
> kmem_size_max?  Is there a way to see a sum of total kmem allocation?
> Even the vm.zone breakdown seems to be gone in current so apparently my
> knowledge of such things is becoming obsolete :)

It's the cap used by the auto-sizing code, i.e. no matter how much RAM
the system has it will never use more than 320MB for kmem, by default.

Currently I think there is no exported way to view the amount of free
space in the map, but there should be.

> > For now, you probably want to increase vm.kmem_size a bit to allow
> > some more room for zfs, and set vfs.zfs.arc_max and arc_min to
> > something more reasonable like 64*1024*1024+1 (the +1 is needed
> > because zfs currently requires "greater than 64MB" for the arc).
> 
> Yeah, I found that out the hard way after wondering why it was ignoring
> the tunables :)
> 
> I ran out of kmem_map space once with it set to 64*1024*1024+1, then I
> modified the source so that it would accept zfs_arc_max >= (64 << 20)
> instead, just in case it was a power-of-2 thing.

OK.  Probably this is a sign that 160 - 64 = 96MB is not enough for
your kernel, i.e. you'd also get the panics if you turned down
vm.kmem_size to 96MB and didn't use zfs.

Kris

Received on Mon Apr 09 2007 - 23:48:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:08 UTC