centos timed release memory script

The following is the script!

#!/bin/bash
used=free -m | awk ‘NR==2′ | awk ‘{print $3}’
free=free -m | awk ‘NR==2′ | awk ‘{print $4}’

echo “===========================” >> /var/log/mem.log
date >> /var/log/mem.log
echo “Memory usage | [Use:${used}MB][Free:${free}MB]” >> /var/log/mem.log

if [ $free -le 100 ] ; then
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches
echo “OK” >> /var/log/mem.log
else
echo “Not required” >> /var/log/mem.log
fi

 

Then added to a scheduled task,, execute once every 30 minutes.

echo ‘*/30 * * * * sh /bak/sh/freemem.sh’ >> /var/spool/cron/root

Leave a Reply

Your email address will not be published. Required fields are marked *