tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Question about pool(9) sizes

Brian Buhrow <> writes:

>       Hello.  In my continuing quest to try and get i/o performance up on
> some NetBSD-5.1 production boxes I have, I find I have a question about the
> minimum and maximum sizes of a specific pool.
> Given the following snippet of output from vmstat -m, does the size 164,
> which I realize represents the number of objects in the pool, also
> represent the maximum  number of objects in the pool?  That is, if more
> than 164 instances of this object are needed, would the system be unable
> to provide the 165th instance or can it grow the pool to accomodate the
> request?  If it does grow the pool, would the size value in vmstat -m
> change?
> If I've got it completely wrong, could someone elaborate?
> -thanks
> -Brian
> Name        Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg 
> Idle
> scxspl       164 67714659    0 67714659  2101  2092     9     9     1   inf 9

First, I suggest reading the following, if you haven't already:

size is the number of bytes in each object - look at vmstat -m and
kmem-N.  pools allocate fixed-size objects so they can be efficienctly
packed into pages (see the first paper above).  The pool is entirely
unallocated, beacuse requests-releases==0.  Note that fail is 0, which
means no requests were denied.  There are 9 pages in the pool, and
probably there are 24 objects per page, so 216 unallocated presently.

Pools are designed to return pages to the kernel vm system if they are
not needed, and to get pages when needed.  So that line looks like a
very large number of alloc/free, but with no failures and not a lot
still allocated.  Hard to really be sure, but it looks entirely healthy
to me.


Attachment: pgphQCaq42F0Z.pgp
Description: PGP signature

Home | Main Index | Thread Index | Old Index