Files
QOLScripts/getzfsarccache.sh
2026-01-09 23:34:27 -05:00

46 lines
781 B
Bash

#!/bin/bash
intv="$1"
if [ -z $intv ]
then
intv=5
fi
prevhits=0
prevmisses=0
i=0
while true
do
stats=`cat /proc/spl/kstat/zfs/arcstats`
hit=`echo "$stats" | grep -w hits | awk '{ print $3}'`
miss=`echo "$stats" | grep -w misses | awk '{ print $3}'`
hitrate=$(((hit-prevhits)/intv))
missrate=$(((miss-prevmisses)/intv))
prevhits=$hit
prevmisses=$miss
req=$((hitrate+missrate))
if [ "$hitrate" != 0 ] && [ "$req" != 0 ]
then
hitper=`echo "scale=2; (($hitrate / $req) * 100)" | bc`
else
hitper=0
fi
if [ "$i" -gt 0 ]
then
echo "IOPs: $req | ARC cache hit ratio: $hitper % | Hitrate: $hitrate / Missrate: $missrate"
else
echo "Loading"
fi
((i++))
sleep $intv
done