panic: kmem_malloc(131072): kmem_map too small (AMD64)

Darren Reed darrenr at freebsd.org
Thu Sep 27 08:06:39 PDT 2007


Kris Kennaway wrote:
> Darren Reed wrote:
>> Kris Kennaway wrote:
>>> Darren Reed wrote:
>>>> Kris Kennaway wrote:
>>>>> ...
>>>>> Well yes, that is one hypothesis, but the evidence points 
>>>>> elsewhere as well.  Prior the change you reference, some of my zfs 
>>>>> machines would run for weeks before hitting a load pattern that 
>>>>> exhausted their kmem_map and triggered the panic.  Also unless I 
>>>>> have missed it I am not seeing the sudden flood of panic reports 
>>>>> that may indicate sudden breakage.  It is quite possible that this 
>>>>> particular report has nothing to do with the recent change.
>>>>
>>>> Indeed.
>>>>
>>>> But here's something else to ponder...
>>>>
>>>> I've been using ZFS since it was internal beta at Sun, at first on 
>>>> i386 and later on amd64.
>>>> I've never run into this kind of panic on Solaris.  System can get 
>>>> very slow, yes, with
>>>> ZFS hogging lots of memory, but it never panic'd because of it.
>>>>
>>>> We need to come up with a strategy here to solve this problem, be 
>>>> it fixing the kmem
>>>> virtual memory or fixing zfs.
>>>
>>> Yes, Solaris does something architecturally different because it is 
>>> apparently acceptable for zfs to use gigabytes of memory by default.
>>
>> Well, if you were designing a file system for servers, is there any
>> reason that you wouldn't try to use all of the RAM available?
>
> No, but it's different to what FreeBSD does.  Especially on i386.

In the ZFS tuning guide, it mentions that the ARC should be tuned if memory
is tight and that the ARC should be no more than 80% of the kmem vm.

Does this advice also correspond to FreeBSD?
Or do we ship with a small ARC by default and the only problem
is the kmem map? 

Darren



More information about the freebsd-current mailing list