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 <mandr...@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<au...@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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org" > _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"