When will ZFS become stable?
rwatson at FreeBSD.org
Sun Jan 6 14:33:20 PST 2008
On Sun, 6 Jan 2008, Kris Kennaway wrote:
> Vadim Goncharov wrote:
>> 06.01.08 @ 23:34 Kris Kennaway wrote:
>>>> What is the other 512 MB of the 1 GB used for?
>>> Everything else that the kernel needs address space for. Buffer cache,
>>> mbuf allocation, etc.
>> Aren't they allocated from the same memory zones? I have a router with 256
>> Mb RAM, it had a panic with ng_nat once due to exhausted kmem. So, what
>> these number from it's sysctl do really mean?
>> vm.kmem_size: 83415040
>> vm.kmem_size_max: 335544320
>> vm.kmem_size_scale: 3
>> vm.kvm_size: 1073737728
>> vm.kvm_free: 704638976
> I believe that mbufs are allocated from a separate map. In your case you
> only have ~80MB available in your kmem_map, which is used for malloc() in
> the kernel. It is possible that ng_nat in combination with the other kernel
> malloc usage exhausted this relatively small amount of space without mbuf
> use being a factor.
Actually, with mbuma, this has changed -- mbufs are now allocated from the
general kernel map. Pipe buffer memory and a few other things are still
allocated from separate maps, however. In fact, this was one of the known
issues with the introduction of large cluster sizes without resource limits:
address space and memory use were potentially unbounded, so Randall recently
properly implemented the resource limits on mbuf clusters of large sizes.
Robert N M Watson
University of Cambridge
More information about the freebsd-current