Ben,

Here is an attempt.

c       -> Is the total cache size (MRU + MFU)
p       ->  represents the limit of MRU 
(c - p) -> represents the limit of MFU

c_max, c_min    -> hard limits 
size            -> Total amount consumed by ARC

memory_throttle_count -> The number of times ZFS decided to
                         throttle ARC growth.

ARC maintains ghost lists for MRU and MFU. When it decides to
evict a buffer from the MRU/MFU, the data buffer is freed. However,
it moves the corresponding header into these ghost lists.

In future, when we have a hit on one of these ghost lists it
is a indication to the algorithm that the corresponding (MRU/MFU)
should have been larger to accomodate it.

mfu_ghost_hits -> These are the hits into the Ghost list
mru_ghost_hits

This is used to correct the size of MRU/MFU by adjusting the value
of 'p' (arc.c:arc_adjust()). 

I know this is not complete.

Thanks and regrads,
Sanjeev.

On Wed, Aug 20, 2008 at 04:04:59AM -0700, Ben Rockwood wrote:
> Would someone "in the know" be willing to write up (preferably blog) 
> definitive definitions/explanations of all the arcstats provided via kstat?  
> I'm struggling with proper interpretation of certain values, namely "p", 
> "memory_throttle_count", and the mru/mfu+ghost hit vs demand/prefetch hit 
> counters.  I think I've got it figured out, but I'd really like expert 
> clarification before I start tweaking.
> 
> Thanks.
> 
> benr.
>  
>  
> This message posted from opensolaris.org
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to