When will ZFS become stable?

Robert Watson 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
Computer Laboratory
University of Cambridge


More information about the freebsd-current mailing list