Freebsd 8.0 kmem map too small

Mike Andrews mandrews at bit0.com
Mon May 10 20:45:10 UTC 2010


On Mon, 10 May 2010, Steve Polyack wrote:

> On 05/10/10 11:55, Mike Andrews wrote:
>> On 5/5/10 11:19 AM, Freddie Cash wrote:
>>> On Tue, May 4, 2010 at 11:32 PM, Giulio Ferro<auryn at zirakzigil.org> 
>>> wrote:
>>> 
>>>> Giulio Ferro wrote:
>>>> 
>>>>> Thanks, I'll try these settings.
>>>>> 
>>>>> I'll keep you posted.
>>>>> 
>>>> 
>>>> Nope, it's happened again... Now I've tried to rise vm.kmem_size to 6G...
>>>> I'm really astounded at how unstable zfs is, it's causing me a lot of
>>>> problem.
>>>> Why isn't it stated in the handbook that zfs isn't up to production yet?
>>>> 
>>> 
>>> As with everything related to computers, it all depends on your uses.
>> 
>> Sorry to semi-hijack this, but...  I'm also running into frequent "kmem_map 
>> too small" panics on 8-STABLE, such as:
>> 
>> panic: kmem_malloc(131072): kmem_map too small: 2023780352 total allocated
>> panic: kmem_malloc(131072): kmem_map too small: 2011525120 total allocated
>> panic: kmem_malloc(114688): kmem_map too small: 1849356288 total allocated
>> panic: kmem_malloc(114688): kmem_map too small: 1849356288 total allocated
>> panic: kmem_malloc(114688): kmem_map too small: 1849356288 total allocated
>> panic: kmem_malloc(131072): kmem_map too small: 2020409344 total allocated
>> panic: kmem_malloc(536576): kmem_map too small: 2022957056 total allocated
>> 
>> (those are over the course of 3-4 days)
>> 
>> On this specific system, it has 32 GB physical memory and has 
>> vfs.zfs.arc_max="2G" and vm.kmem_size="64G" in /boot/loader.conf.  The 
>> latter was added per earlier suggestions on this list, but appears to be 
>> ignored as "sysctl vm.kmem_size" returns about 2 GB (2172452864) anyway.
>> 
>> 
> As Artem stated in another reply, you will need to set vm.kmem_size slightly 
> under 2x the physical memory.  The kernel will default to 2GB if you pass 
> this limit.  1.5x physical memory size should be sufficient, so try "48G" and 
> verify that it gets set correctly on the next boot.


OK, I've got vm.kmem_size set a bit lower and it now accepts it.  It's 
still not clear why this just recently (April?) became necessary to do at 
all :)

Meanwhile, I'll see if things get more stable now...


More information about the freebsd-stable mailing list