Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Oct 2012 18:04:47 +0300
From:      Nikolay Denev <ndenev@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r237656 - in head: contrib/top usr.bin/top
Message-ID:  <38E42006-48A5-4AF7-9892-EB81583FE5A9@gmail.com>
In-Reply-To: <201206271808.q5RI8m0d024853@svn.freebsd.org>
References:  <201206271808.q5RI8m0d024853@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 27, 2012, at 9:08 PM, John Baldwin <jhb@freebsd.org> wrote:

> Author: jhb
> Date: Wed Jun 27 18:08:48 2012
> New Revision: 237656
> URL: http://svn.freebsd.org/changeset/base/237656
>=20
> Log:
>  Add a new line to top that provides a brief summary of the ZFS ARC =
memory
>  usage on hosts using ZFS.  The new line displays the total amount of =
RAM
>  used by the ARC along with the size of MFU, MRU, anonymous (in =
flight),
>  headers, and other (miscellaneous) sub-categories.  The line is not
>  displayed on systems that are not using ZFS.
>=20
>  Reviewed by:	avg, fs@
>  MFC after:	3 days
>=20
> Modified:
>  head/contrib/top/display.c
>  head/contrib/top/layout.h
>  head/contrib/top/machine.h
>  head/contrib/top/top.c
>  head/usr.bin/top/machine.c
>  head/usr.bin/top/top.local.1
>=20
>=20
> Modified: head/usr.bin/top/machine.c
> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> --- head/usr.bin/top/machine.c	Wed Jun 27 17:51:09 2012	=
(r237655)
> +++ head/usr.bin/top/machine.c	Wed Jun 27 18:08:48 2012	=
(r237656)
> @@ -176,6 +176,12 @@ char *memorynames[] =3D {
> 	"K Free", NULL
> };
>=20
> +int arc_stats[7];
> +char *arcnames[] =3D {
> +	"K Total, ", "K MRU, ", "K MFU, ", "K Anon, ", "K Header, ", "K =
Other",
> +	NULL
> +};
> +
>=20
> +	if (arc_enabled) {
> +		GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat);
> +		arc_stats[0] =3D arc_stat >> 10;
> +		GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
> +		arc_stats[1] =3D arc_stat >> 10;
> +		GETSYSCTL("vfs.zfs.mru_size", arc_stat);
> +		arc_stats[2] =3D arc_stat >> 10;
> +		GETSYSCTL("vfs.zfs.anon_size", arc_stat);
> +		arc_stats[3] =3D arc_stat >> 10;
> +		GETSYSCTL("kstat.zfs.misc.arcstats.hdr_size", arc_stat);
> +		GETSYSCTL("kstat.zfs.misc.arcstats.l2_hdr_size", =
arc_stat2);
> +		arc_stats[4] =3D arc_stat + arc_stat2 >> 10;
> +		GETSYSCTL("kstat.zfs.misc.arcstats.other_size", =
arc_stat);
> +		arc_stats[5] =3D arc_stat >> 10;
> +		si->arc =3D arc_stats;
> +	}
> +		   =20


Hi,

It looks like MFU and MRU are swapped in top's display.

I'm using this to correct the output:

--- /usr/src/.zfs/snapshot/patches/usr.bin/top/machine.c        =
2012-09-26 08:20:26.000000000 +0200
+++ usr.bin/top/machine.c       2012-10-17 17:00:14.988895167 +0200
@@ -515,9 +515,9 @@
        if (arc_enabled) {
                GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat);
                arc_stats[0] =3D arc_stat >> 10;
-               GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
-               arc_stats[1] =3D arc_stat >> 10;
                GETSYSCTL("vfs.zfs.mru_size", arc_stat);
+               arc_stats[1] =3D arc_stat >> 10;
+               GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
                arc_stats[2] =3D arc_stat >> 10;
                GETSYSCTL("vfs.zfs.anon_size", arc_stat);
                arc_stats[3] =3D arc_stat >> 10;






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38E42006-48A5-4AF7-9892-EB81583FE5A9>