On Mar 1, 2010, at 12:21 AM, Abdullah Al-Dahlawi wrote:

> Greeting All
> 
> I know this topic have been beaten to death however, something is really 
> confusing on my part !!
> 
> I set the max_arc size = 512 mb

ok

> I ran my benchmark workload that loads a file with a specific size into ARC 
> ... 
> 
> if the file size is less than 200MB , it gets loaded entirely in to ARC and 
> workload throughput is booming ...
> 
> if the file is 250MB (still less than ARC size) , the file did not get loaded 
> entirely into the FREE ARC !! and the throughput degrades  ??

arc_max is an upper limit to the target size of the ARC.  The actual size of the
ARC can be limited by other, dynamic factors.  The current target size is "c"
and the actual size is "size" as shown by the kstats (kstat -n arcstats)

How much physical RAM is in the machine?

> To make the long story short.
> 
> is there a way to know the REAL ARC size that is available to the application 
> ??? my understanding is that ARC Size is consumed by some ARC data structures 
> and other caching list . But what is really remaining for tha application to 
> use ??
> 
> Any feed back ???

There are a lot of moving parts here, if you want to fully understand the
details, then take a look at the source:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/arc.c

[richard wonders why arc_meta_used is not a kstat...]

 -- richard

ZFS storage and performance consulting at http://www.RichardElling.com
ZFS training on deduplication, NexentaStor, and NAS performance
http://nexenta-atlanta.eventbrite.com (March 16-18, 2010)




_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to