#!/bin/sh prefix="vfs.zfs." prefix_kstat="kstat.zfs.misc.arcstats." echo "ARC top-level breakdown:" for i in size hdr_size data_size other_size l2_hdr_size ; do val=$(sysctl -n ${prefix_kstat}${i}) eval $i=$val echo "$i: $val" done echo "" echo "ARC size vs hdr_size + data_size + other_size + l2_hdr_size:" echo "$size vs $(($hdr_size + $data_size + $other_size $l2_hdr_size))" echo "" echo "ARC Data breakdown:" for i in mfu_size mru_size anon_size ; do val=$(sysctl -n ${prefix}${i}) eval $i=$val echo "$i: $val" done echo "" echo "Data size vs mfu_size + mru_size + anon_size:" echo "$data_size vs $(($mfu_size + $mru_size + $anon_size))" echo "" for typ in mfu mru anon ; do echo "$typ breakdown:" for i in data_lsize metadata_lsize ; do val=$(sysctl -n ${prefix}${typ}_${i}) eval $i=$val echo "$i: $val" # if [ "anon" != "$typ" ] ; then # val=$(sysctl -n ${prefix}${typ}_ghost_${i}) # eval ghost_$i=$val # echo "ghost_$i: $val" # fi done echo "" eval size=\${${typ}_size} echo "other (overhead? ghost entries?): $(($size - $data_lsize - $metadata_lsize))" echo "" done