svn commit: r237656 - in head: contrib/top usr.bin/top
Nikolay Denev
ndenev at gmail.com
Wed Oct 17 15:04:55 UTC 2012
On Jun 27, 2012, at 9:08 PM, John Baldwin <jhb at freebsd.org> wrote:
> Author: jhb
> Date: Wed Jun 27 18:08:48 2012
> New Revision: 237656
> URL: http://svn.freebsd.org/changeset/base/237656
>
> 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.
>
> Reviewed by: avg, fs@
> MFC after: 3 days
>
> 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
>
>
> Modified: head/usr.bin/top/machine.c
> ==============================================================================
> --- 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[] = {
> "K Free", NULL
> };
>
> +int arc_stats[7];
> +char *arcnames[] = {
> + "K Total, ", "K MRU, ", "K MFU, ", "K Anon, ", "K Header, ", "K Other",
> + NULL
> +};
> +
>
> + if (arc_enabled) {
> + GETSYSCTL("kstat.zfs.misc.arcstats.size", arc_stat);
> + arc_stats[0] = arc_stat >> 10;
> + GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
> + arc_stats[1] = arc_stat >> 10;
> + GETSYSCTL("vfs.zfs.mru_size", arc_stat);
> + arc_stats[2] = arc_stat >> 10;
> + GETSYSCTL("vfs.zfs.anon_size", arc_stat);
> + arc_stats[3] = 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] = arc_stat + arc_stat2 >> 10;
> + GETSYSCTL("kstat.zfs.misc.arcstats.other_size", arc_stat);
> + arc_stats[5] = arc_stat >> 10;
> + si->arc = arc_stats;
> + }
> +
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] = arc_stat >> 10;
- GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
- arc_stats[1] = arc_stat >> 10;
GETSYSCTL("vfs.zfs.mru_size", arc_stat);
+ arc_stats[1] = arc_stat >> 10;
+ GETSYSCTL("vfs.zfs.mfu_size", arc_stat);
arc_stats[2] = arc_stat >> 10;
GETSYSCTL("vfs.zfs.anon_size", arc_stat);
arc_stats[3] = arc_stat >> 10;
More information about the svn-src-head
mailing list