On Jun 27, 2012, at 9:08 PM, John Baldwin <j...@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; _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"