清理缓存命令linux(linux内存自动清理工具)
#! /bin/sh
echo "linux内存清理脚本,用于定时清理linux内存,当linux内存使用超过临界值时,快速清理释放内存,并保障主要业务运行,linux 定时脚本crontab使用"
#当前使用内存
used=`free -m | awk 'NR==2' | awk '{print $3}'`
#当前空闲内存
free=`free -m | awk 'NR==2' | awk '{print $4}'`
#追加输出分隔符日志到/home/logs/memuse.log文件
echo "===========================" >> /home/logs/memuse.log
#追加输出时间到日志文件
date >> /home/logs/memuse.log
#追加输出内存使用情况到日志文件
echo "Memory usage before | [Use:${used}MB][Free:${free}MB]" >> /home/logs/memuse.log
#当剩余内存小于4G时,触发清理内存
if [ $free -le 4000 ] ; then
#内存清理逻辑
sync && echo 3 > /proc/sys/vm/drop_caches
used_ok=`free -m | awk 'NR==2' | awk '{print $3}'`
free_ok=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "Memory usage after | [Use:${used_ok}MB][Free:${free_ok}MB]" >> /home/logs/memuse.log
#当内存清理完成后的主要业务处理逻辑
docker restart tomcat8 tomcat8-test
#内存清理完成,追加成功日志
echo "OK" >> /home/logs/memuse.log
else
#不需要清理日志
echo "Not required" >> /home/geocube/gc-shell/logs/mem.log
fi
exit 1
实例1:每1分钟执行一次清理
* * * * * /home/freeme.sh
3,15 * * * * /home/freeme.sh
3,15 8-11 * * * /home/freeme.sh
3,15 8-11 */2 * * /home/freeme.sh
3,15 8-11 * * 1 /home/freeme.sh
30 21 * * * /home/freeme.sh
45 4 1,10,22 * * /home/freeme.sh
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com