Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 May 2010 19:49:26 +0300
From:      Andriy Gapon <avg@icyb.net.ua>
To:        Jeremy Chadwick <freebsd@jdc.parodius.com>
Cc:        amd64@freebsd.org, freebsd-fs@freebsd.org
Subject:   Re: FreeBSD 8.1-Prerelease Panic amd64 w/ZFS..
Message-ID:  <4BFFF416.1080901@icyb.net.ua>
In-Reply-To: <20100528134549.GA75411@icarus.home.lan>
References:  <060401cafe37$a411b240$ec3516c0$@net> <4BFF894F.4010008@icyb.net.ua> <20100528134549.GA75411@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
on 28/05/2010 16:45 Jeremy Chadwick said the following:
> It is?  On amd64, vm.kmem_size (not vm.kmem_size_max) is what has to be
> increased.  I can point folks to the "official" statement from pjd@ and
> some others if need be.  For a very long time I questioned this because
> for an even longer amount of time we were being told to increase
> vm.kmem_size_max.
> 
> vm.kmem_size_max, by default, is already huge on amd64 (~320GB or
> something like that).  Proof:
> 
> vm.kmem_size_max: 329853485875
> 
> To the OP: you will need to increase vm.kmem_size in /boot/loader.conf
> and reboot the system.  "What value do I pick?"  With 4GB, I would
> recommend you use these two variables:
> 
> vm.kmem_size="2048M"
> vfs.zfs.arc_max="1536M"
> 
> This will increase the available kmem, and also limit the ARC size
> explicitly to nothing larger than 1.5GB.  This should stabilise your
> system.
> 

Jeremy,

you are correct, I was confused about what kmem_size_max and kmem_size meant.
kmem_size_max is what could be available, in principle, for kmem_map.
But in practice kmem_map size is auto-set to about 1/3 of physical memory
available, this is on amd64.
BTW, the "6GB" change you mentioned in your other email was more relevant to
kmem_size_max, it was overridden since then with 512GB change.

kmem size calculations are very well explained here:
http://www.mailinglistarchive.com/freebsd-current@freebsd.org/msg10986.html

BTW, I don't see why we set kmem size to a fraction of physical memory on amd64
where we have plenty of KVM available.  I don't buy the argument that larger kmem
size would allow kernel to exhaust all physical memory which would lead to a "bad
thing", e.g. a panic - right now kernel can exhaust all kmem which does lead to a
panic.

Perhaps, default value of VM_KMEM_SIZE_SCALE should be change to one on amd64?

-- 
Andriy Gapon



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