Freebsd 8.0 kmem map too small

Artem Belevich fbsdlist at src.cx
Mon May 10 20:53:47 UTC 2010


vm.kmem_size limitation has been this way for a pretty long time.

What's changed recently is that ZFS ARC now uses UMA for its memory
allocations. If I understand it correctly, this would make ARC's
memory use more efficient as allocated chunks will end up in a zone
tuned for allocations of particular size.

Increased fragmentation could be the side effect of this change, but
I'm guessing here.

--Artem



On Mon, May 10, 2010 at 1:45 PM, Mike Andrews <mandrews at bit0.com> wrote:
> 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...
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>


More information about the freebsd-stable mailing list