Interpreting Free
To see how much memory you are currently using, run free -m. It will provide output like:
           total   used  free   shared buffers cached
Mem:Â Â Â Â Â Â Â 90Â Â Â Â Â 85 Â Â Â Â Â 4Â Â Â Â Â 0 Â Â Â Â Â 3Â Â Â Â Â Â 34
-/+ buffers/cache:Â 46Â Â Â Â Â 43
Swap:Â Â Â Â Â Â 9Â Â Â Â Â Â Â 0 Â Â Â Â Â 9
The top row ‘used’ (85) value will almost always nearly match the top row mem value (90). Since Linux likes to use any spare memory to cache disk blocks (34).
The key figure to look at is the buffers/cache row …
#!/bin/bash
EMAIL=”linu@pearlin.info”
SUBJECT=”Alert $(hostname) load average is $L05″
TEMPFILE=”/tmp/$(hostname)”
echo “Load average Crossed allowed limit.” >> $TEMPFILE
echo “Hostname: $(hostname)” >> $TEMPFILE
echo “Local Date & Time : $(date)” >> $TEMPFILE
echo “| Uptime status: |” >> $TEMPFILE
echo “——————————————-” >> $TEMPFILE
/usr/bin/uptime >> $TEMPFILE
echo “——————————————-” >> $TEMPFILE
echo “| Top 20 CPU consuming processes: |” >> $TEMPFILE
ps aux | head -1 >> $TEMPFILE
ps aux –no-headers | sort -rn +2 | head -20 >> $TEMPFILE
echo “| Top 10 memory-consuming processes: |” >> $TEMPFILE
ps aux –no-headers| sort -rn +3 | head …