Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Jun 2009 14:35:42 -0400
From:      Ben Kelly <ben@wanderview.com>
To:        Tim Chase <tim@chase2k.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: kmem map too small panic after updating to STABLE-7 r192996
Message-ID:  <3B36D8F8-7325-49A3-9F1F-42326C661E6D@wanderview.com>
In-Reply-To: <alpine.LFD.2.00.0906040932280.27799@localhost.localdomain>
References:  <alpine.LFD.2.00.0906040932280.27799@localhost.localdomain>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 4, 2009, at 10:48 AM, Tim Chase wrote:
> 	vm.kmem_size="512M"
> 	vm.kmem_size_max="512M"
> 	vfs.zfs.arc_max="100M"

> $1 = 0xc0792320 "kmem_malloc(131072): kmem_map too small: 325656576  
> total allocated"

It looks like you are suffering from fragmentation of your kmem  
address space.  I've done some investigation of this on -current:

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=909067+0+archive/2009/freebsd-current/20090503.freebsd-current

The patch linked from that mail allows me to run with an untuned ARC  
size with kmem of 512 MB.  It does this, however, by more aggressively  
limiting how the ARC grows so it doesn't need to trigger its  
aggressive memory reclamation algorithm.  I haven't tested this patch  
against -stable or with Kip's more recent changes so I don't know if  
it will apply cleanly for you.

I've had some luck avoiding the fragmentation by changing ZFS to use a  
separate memory pool with a 128KB slab allocator, but this isn't  
really ready for general usage.  Unfortunately I've been quite busy at  
work lately and haven't had time to work on it in a few weeks.

I think with the current code base your only options are to increase  
your kmem maximum or limit your ARC even further.

I hope that helps.

- Ben



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B36D8F8-7325-49A3-9F1F-42326C661E6D>