Public feed #891692

Mine

public text v1 · immutable
Raw Edit
·published 2008-02-04 21:01 UTC
rendered paste body
#!/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