#!/bin/csh -f

switch (`uname -s``uname -r`)
case SunOS4*:
	set DMESG = /etc/dmesg
	if (-e ~watrous/Sys/dmesg) set DMESG = ~watrous/Sys/dmesg
	set TAIL = /usr/ucb/tail
	set SWAPCMD = "/etc/pstat -s"
	breaksw
case SunOS5*:
	set DMESG = /usr/bin/dmesg
	if (-e ~watrous/Sys/dmesg) set DMESG = ~watrous/Sys/dmesg
	set TAIL = /bin/tail
	set SWAPCMD = "/etc/swap -s"
	breaksw
default:
	exec echo ${0}: does not run on `uname -s` `uname -r`
endsw

set HOST = `hostname | sed 's;\.[Rr][Uu][Tt][Gg][Ee][Rr][Ss]\.[Ee][Dd][Uu];;'`

#set MEM=`$DMESG | grep "^mem.*x"|head -1|awk '{print substr($3,0,length($3)-1)}'`
set MEM=`$DMESG | grep "mem = [0-9]*K"|sed "s;.*mem = ;mem = ;"|$TAIL -1|awk '{print substr($3,0,length($3)-1)}'`

if ("$MEM" == "") then
#	set HOST = `hostname | sed 's;\..*;;'`
	if (-e ~/Batch/Nightly/dmesg.$HOST) set MEM=`cat ~/Batch/Nightly/dmesg.$HOST | grep "^mem.*x"|head -1|awk '{print substr($3,0,length($3)-1)}'`
endif

if ("$MEM" != "") then
	set MEG=`echo $MEM 1024 / p | dc`
else
	set MEG="?"
	set MEM="?"
#	echo Cannot determine memory for `hostname`
endif

#set SWAP = /etc/pstat -T | grep swap | sed -e "s;.*/;;" -e "s; .*;;"`
set SWAPLINE = `$SWAPCMD | sed -e 's;total: ;;' -e 's;bytes ;;'`
if ($#SWAPLINE == 10) then
	set USED = `echo $SWAPLINE[7] | sed 's;k;;'`
	set AVAIL = `echo $SWAPLINE[9] | sed 's;k;;'`
	set SWAP = `echo $USED $AVAIL + p | dc`
else
	set SWAP
endif

if ($SWAP != "") then
	set SMEG=`echo $SWAP 1024 / p | dc`
else
	set SMEG="?"
	set SWAP = "?"
#	echo Cannot determine swap space for `hostname`
endif

if ("$SWAP" != "?" && "$MEM" != "?") then
	set RATIO=`echo 2k $SWAP $MEM / p | dc`
else
	set RATIO="?"
endif

echo "$HOST has ${MEM}k (${MEG}M) memory; ${SWAP}k (${SMEG}M) swap; ratio is ${RATIO}"
