kmem_map too small with ZFS and 8.2-RELEASE
Andriy Bakay
andriy at irbisnet.com
Sat Mar 5 15:10:30 UTC 2011
On 2011-03-04, at 9:38, Jeremy Chadwick <freebsd at jdc.parodius.com> wrote:
> On Fri, Mar 04, 2011 at 08:23:29AM -0500, Adam McDougall wrote:
>> On 03/04/11 04:48, Mickaël Canévet wrote:
>>>> I'd use vm.kmem_size="32G" (i.e. twice your RAM) and that's it.
>>>
>>> Should I also increase vfs.zfs.arc_max ?
>>>
>>> Do you have any idea why the kernel panicked at only 8GB allocated ?
>>>
>>> Thank you
>>
>> I believe ARC allocations in kmem can become fragmented, so when it
>> is searching for a place to store a new contiguous segment of
>> memory, the remaining fragmented free spaces may all be too small.
>> I also set
>> vm.kmem_size to about twice the amount of ram to help it avoid this
>> issue. I suspect if kmem is badly fragmented then performance of
>> ZFS can downgrade, so that is another reason to keep kmem bigger.
>
> My findings on 8.2-RELEASE indicate that doing this results in very
> unexpected behaviour regarding the ARC maximum. As such, I cannot
> recommend this model.
>
> For example, on an amd64 system with 8GB physical RAM and these two
> settings in /boot/loader.conf:
>
> vm.kmem_size="8192M"
> vfs.zfs.arc_max="6144M"
>
> kstat.zfs.misc.arcstats.size tops out at around 6240986896, with Wired
> in top(1) showing ~6.3GB. This is expected behaviour and fits (I
> think) what people expect.
>
> However, on the exact same system with these two settings:
>
> vm.kmem_size="16384M"
> vfs.zfs.arc_max="6144M"
>
> The above ARC numbers are exactly *half* that amount. This is easily
> reproducible.
>
> Can someone 1) justify the "2x the amount of RAM for vm.kmem_size"
> setting, and 2) explain in detail the above behaviour?
>
> --
> | Jeremy Chadwick jdc at parodius.com |
> | Parodius Networking http://www.parodius.com/ |
> | UNIX Systems Administrator Mountain View, CA, USA |
> | Making life hard for others since 1977. PGP 4BD6C0CB |
>
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
I guess Pawel can:
vm.kmem_size=”6G” # This should be 150% of your RAM.
http://blogs.freebsdish.org/pjd/2010/08/06/from-sysinstall-to-zfs-only-configuration/
More information about the freebsd-fs
mailing list