I've been using the arc_summary.pl script from here:

http://jhell.googlecode.com/svn/base/head/scripts/zfs/arc_summary/arc_summary.pl

and noticed some odd numbers, with the ARC Current Size being larger than the Max Size, and the breakdown adding up to less than the current size as shown below

--------
ARC Size:
        Current Size:                           992.71M (arcsize)
        Target Size: (Adaptive)                 512.00M (c)
        Min Size (Hard Limit):                  81.82M (arc_min)
        Max Size (Hard Limit):                  512.00M (arc_max)

ARC Size Breakdown:
        Recently Used Cache Size:       99.84%  511.18M (p)
        Frequently Used Cache Size:     0.16%   0.82M (c-p)
--------


From another thread I saw, it sounds like arc_max isn't really
a "Hard Limit" but rather some kind of high water mark.  If that's
the case then I wonder if this might make more sense....



---------
--- arc_summary.pl.original     2010-02-25 19:23:13.000000000 -0600
+++ arc_summary.pl      2010-03-29 09:32:28.000000000 -0500
@@ -121,20 +121,20 @@

 my $arc_size = ${Kstat}->{zfs}->{0}->{arcstats}->{size};
 my $arc_size_MiB = ($arc_size / 1048576);
-my $mfu_size = $target_size - $mru_size;
+my $mfu_size = $arc_size - $mru_size;
 my $mfu_size_MiB = ($mfu_size / 1048576);
-my $mru_perc = 100*($mru_size / $target_size);
-my $mfu_perc = 100*($mfu_size / $target_size);
+my $mru_perc = 100*($mru_size / $arc_size);
+my $mfu_perc = 100*($mfu_size / $arc_size);

 print "ARC Size:\n";
 printf("\tCurrent Size:\t\t\t\t%0.2fM (arcsize)\n", $arc_size_MiB);
 printf("\tTarget Size: (Adaptive)\t\t\t%0.2fM (c)\n", $target_size_MiB);
 printf("\tMin Size (Hard Limit):\t\t\t%0.2fM (arc_min)\n", $arc_min_size_MiB);
-printf("\tMax Size (Hard Limit):\t\t\t%0.2fM (arc_max)\n", $arc_max_size_MiB);
+printf("\tMax Size             :\t\t\t%0.2fM (arc_max)\n", $arc_max_size_MiB);

 print "\nARC Size Breakdown:\n";
 printf("\tRecently Used Cache Size:\t%0.2f%%\t%0.2fM (p)\n", $mru_perc, 
$mru_size_MiB);
-printf("\tFrequently Used Cache Size:\t%0.2f%%\t%0.2fM (c-p)\n", $mfu_perc, 
$mfu_size_MiB);
+printf("\tFrequently Used Cache Size:\t%0.2f%%\t%0.2fM (arcsize-p)\n", 
$mfu_perc, $mfu_size_MiB);
 print "\n";

 ### ARC Efficency ###

-----------


Giving something like this...

--------
ARC Size:
        Current Size:                           992.88M (arcsize)
        Target Size: (Adaptive)                 512.00M (c)
        Min Size (Hard Limit):                  81.82M (arc_min)
        Max Size             :                  512.00M (arc_max)

ARC Size Breakdown:
        Recently Used Cache Size:       51.48%  511.18M (p)
        Frequently Used Cache Size:     48.52%  481.70M (arcsize-p)
--------

        Barry
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to