All pastes #242031 Raw Edit

Something

public text v1 · immutable
·published 2006-11-06 21:27 UTC
rendered paste body
#!/bin/bash

echo "Usage: this util expects to receive /proc/user_beancounters via command line pipe."

# array field constants:
param_name=0;held=1; maxheld=2; barrier=3; limit=4; failcnt=5

# a couple handy functions:
Return_Val=   # Global variable to hold oversize return value of function.
kilos () { 
	Return_Val=$(($1 / 1024))
	return
}

megas () {
	kilos $1
	Return_Val=$(($Return_Val / 1024))
	return
	}

# read the UBC data:
while read myline
	do \
	printf "."
	case `echo $myline |wc -w` in
	   6) UBC_param="$(echo $myline |cut -d " " -f 1)"
		declare -a $UBC_param
		let $UBC_param[1]="$(echo $myline |cut -d " " -f 2)"
		let $UBC_param[2]="$(echo $myline |cut -d " " -f 3)"
		let $UBC_param[3]="$(echo $myline |cut -d " " -f 4)"
		let $UBC_param[4]="$(echo $myline |cut -d " " -f 5)"
		let $UBC_param[5]="$(echo $myline |cut -d " " -f 6)"	
#		echo debug: ${UBC_param[0]}
		;;
	   7) UBC_param="$(echo $myline |cut -d " " -f 2)"
		declare -a $UBC_param
	   	veid="$(echo $myline |cut -d " " -f 1)"
		let $UBC_param[1]="$(echo $myline |cut -d " " -f 3)"
		let $UBC_param[2]="$(echo $myline |cut -d " " -f 4)"
		let $UBC_param[3]="$(echo $myline |cut -d " " -f 5)"
		let $UBC_param[4]="$(echo $myline |cut -d " " -f 6)"
		let $UBC_param[5]="$(echo $myline |cut -d " " -f 7)"	
		;;
	   2) UBCversion="$(echo $myline |cut -d " " -f 2)" ;;
	esac
#	echo "debug :: $UBC_param : ${UBC_param[0]} : ${UBC_param[1]} :"
	done	
#declare -a
printf "\r"

# Output whatever interests you:

echo 'Processing UBC version '$UBCversion' for VEID: '$veid

printf "%4d MB Allocation Guarantee [vmguarpages barrier]\n" $((${vmguarpages[$barrier]} / 256))
printf "%4d MB Memory Guarantee [oomguarpages barrier]\n" $((${oomguarpages[$barrier]} / 256))

printf "%4d MB page memory allocated [privvmpages held]\n" $((${privvmpages[$held]} / 256))
printf "%4d MB page memory used [physpages held]\n" $((${physpages[$held]} / 256))
printf "%4d MB memory + swap used [oomguarpages held]\n" $((${oomguarpages[$held]} / 256))

megas ${kmemsize[$held]}
printf "%4d MB kernel memory used [kmemsize held]" $Return_Val
kilos ${kmemsize[$held]}
printf "(%6d KB)\n" $Return_Val

bufmem=$((${tcpsndbuf[$held]} + ${tcprcvbuf[$held]} + ${othersockbuf[$held]} + ${dgramrcvbuf[$held]}))
megas $bufmem
printf "%4d MB buffer memory used [*buf held]" $Return_Val
kilos $bufmem
printf "(%6d KB)\n" $Return_Val

echo '-----------------------------------------------'
echo 'Used : Max_Used : Limit     for Other Resources'

echo "debug:vmguarpages barrier:${vmguarpages[$barrier]}"
echo "debug:numproc held: ${numproc[1]}"

# declare -a

for eachone in numproc avnumproc numtcpsock numothersock numfile numflock numpty numsiginfo 
	do \
	each=$eachone
	echo each: $each .... ${$each[*]}
#	printf "%6d : %6d : %6d %s\n" ${!each[$held]} ${!each[$maxheld]} ${!each[$barrier]} ${!each[$limit]} ${!each[0]}
	done

exit 0