ZFS Tuning - arc_summary.pl
jhell
jhell at DataIX.net
Tue Apr 20 05:48:26 UTC 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, 29 Mar 2010 10:43, Barry Pederson wrote:
In Message-Id: <4BB0BC7C.3000801 at barryp.org>
> 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
>
Barry,
What branch and revision was this run on ?
I need the above information because the output above just does not match
up quite as it should and I want to investigate when, where & why as I
believe something else is going on here that is not on the behalf of
arc_summary.pl.
Or if you could provide me personally with the full output of the script
from the downloads section "just to be sure" in an attachment that would
work as well.
Thanks.
- --
jhell
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)
iQEcBAEBAgAGBQJLzUAhAAoJEJBXh4mJ2FR+kP4H/3FSkazC+Jxv0q5XJhP/YfeP
gJ0vWP+84J6HM68GyS4eCOu3QPGUPBAuqZOS8Bb9jXg9xNfxCvw2DQn5mP6v6i6H
w8mWyYyCla7iBfItod4L2GjQeP52SIt7sW9icDeWvrS+LphwjTQmBiA4QwGBQT5D
YiarUMpzY1Jkq8I6YgGYRIwZqeuNn7X68ZEKIz8/LhTM6WKdktm5dcBb6UM/mC/a
I82sv+7mG/9Bn0Orp7DMqvym0rllYmb+Sj7Pj2NEcPt9LYDNf6Vy1Wmly6hNQTYb
b8WkfgLeMogDN9JS6Bw+UxNGwHgQgqDIWvkKDt9qrmuTpKLEozD6GnBzo27uZkg=
=RoRd
-----END PGP SIGNATURE-----
More information about the freebsd-stable
mailing list