Public feed
#891692
#!/bin/bash -x
# memory check monitor. if mem is less than set lev, logs
# a notice
PRT_MEM=`/opt/RMCmem/bin/5.9/sparcv9/prtmem 2>&1`
if [ $? -eq 0 ]; then
PRT_MEM_DVR=`echo $PRT_MEM | grep 'The MemTool device driver is not loaded' | wc -l`
if [ $PRT_MEM_DRV -lt 1 ]; then
logger "NOTICE: Cannot check free memory because prtmem call failed."
exit -1
fi
/opt/RMCmem/drv/bunyipload # try to load the driver
PRT_MEM=`/opt/RMCmem/bin/5.9/sparcv9/prtmem 2>&1`
if [ $? -ne 0 ]; then
logger "NOTICE: Cannot check free memory because prtmem call failed."
exit -1
fi
fi
MEM_WARN_LEV=200
FC_KERNEL=`echo $PRT_MEM | grep 'File Cache' | awk '{print $19;}'`
FC_FREELIST=`echo $PRT_MEM | grep 'Free, file cache' | awk '{print $24;}'`
FR_ZERO=`echo $PRT_MEM | grep 'Free, free' | awk '{print $28;}'`
FC=$(( $FC_KERNEL + $FC_FREELIST + $FR_ZERO ))
echo $(( $FC_KERNEL + $FC_FREELIST + $FR_ZERO ))
if [ "$FC" -lt "$MEM_WARN_LEV" ]; then
logger "NOTICE: Low free memory detected ($FCM)"
fi