#!/bin/sh
FIELD=3
DELAY=5
TEMP=`getopt -o tua -- "$@"`

EXIT=$?

if [ $EXIT -ne 0 ]
then
	exit $EXIT
fi

eval set -- "$TEMP"

while : ; do
	case $1 in
		-t) FIELD=3; shift;;
		-u) FIELD=4; shift;;
		-a) FIELD=2; shift;;
		[0-9]*) DELAY=$1; shift;;
		--) shift; break;;
		*) shift;;
	esac
done

for arg do
	case $arg in
		[0-9]*) DELAY=$arg; break;;
		*) ;;
	esac
done

if [ $FIELD -eq 4 ]
then
	REVERSE=""
else
	REVERSE="-r"
fi

while : ; do
	grep -v '^slabinfo' /proc/slabinfo		\
		| bloatmon				\
		| sort $REVERSE -n -k $FIELD,$FIELD	\
		| head -22
	sleep $DELAY
	echo
done
