Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Nov 2009 11:10:27 +0100
From:      Stefan Esser <se@freebsd.org>
To:        Randy Bush <randy@psg.com>
Cc:        FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: 7.2 dies in midnight run again
Message-ID:  <4B066B13.1070006@freebsd.org>
In-Reply-To: <m2r5ruja6v.wl%randy@psg.com>
References:  <m2skcajavv.wl%randy@psg.com> <m2r5ruja6v.wl%randy@psg.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 20.11.2009 01:45, schrieb Randy Bush:
> i think the issue is how to tune for zfs
> 
> i386 with 4G of RAM
> 
> RELENG_7 cvsupped Nov 18 02:42 GMT
> 
>     panic: kmem_malloc(65536): kmem_map too small: 535019520 total allocated
>     cpuid = 0
>     Uptime: 13h15m1s
>     Physical memory: 3958 MB
>     Dumping 637 MB: 622 606 590 574 558 542 526 510 494 478 462 446 430 414 398 382 366 350 334 318 302 286 270 254 238 222 206 190 174 158 142 126 110 94 78 62 46 30 14
>     Dump complete
>     Automatic reboot in 15 seconds - press a key on the console to abort
> 
> and it did not auto reboot
> 
>     # cat /boot/loader.conf.local
>     ipfw_load=YES
>     umass_load=YES
>     zfs_load=YES
>     vm.kmem_size=536870912
>     vm.kmem_size_max=1073741824
>     vfs.zfs.prefetch_disable=1

I'm using 8.0-i386 (but AFAIK with same ZFS and allocation behaviour)
on a system with 2GB RAM and a RAIDZ1 consisting of 3*1TB (plus
separate 10GB L2ARC cache on a separate disk, to become a SSD).

Besides increasing KVA_PAGES to cover some 2GB (options KVA_PAGES=512),
I use:

vm.kmem_size=1500M
vm.kmem_size_max=2G

This is the result of quite some tuning, since I also suffered from
kmem_map too small panics under high load.

BTW: I use auto-tuning of the ARC cache size:

vfs.zfs.arc_min: 122880000
vfs.zfs.arc_max: 983040000

Due to the extra ZFS cache drive, I could reduce arc_max to some 300MB
(or even lower, Though I did not test lower values, yet), without
noticeable impact (faster than with just a 700MB RAM cache in many
tests). And since L2ARC caches can be removed from pools at any time
and do not need redundancy, it is quite simple to test the effect ...

Regards, STefan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B066B13.1070006>