定時 回收 CentOS 系統 內存
阿新 • • 發佈:2018-12-27
%d 系統 memory -m {} free lse limit 使用
#!/bin/bash LIMIT=512 LOG_FILE="/data/logs/timing_dropcaches.log" #定時清理系統內存 #https://blog.csdn.net/gaojinshan/article/details/40710369 used=`free -m | awk ‘NR==2‘ | awk ‘{print $3}‘` free=`free -m | awk ‘NR==2‘ | awk ‘{print $4}‘` echo "===========================" >> $LOG_FILE date +"%Y-%m-%d %H:%M.%S" >> $LOG_FILE echo "Memory usage | [Use:${used}MB][Free:${free}MB] | limit[${LIMIT}MB]" >> $LOG_FILE # drop caches when the free memory less than 512M if [ $free -le $LIMIT ] ; then #sync && echo 1 > /proc/sys/vm/drop_caches #sync && echo 2 > /proc/sys/vm/drop_cachessync && echo 3 > /proc/sys/vm/drop_caches echo "OK" >> $LOG_FILE else echo "Not required" >> $LOG_FILE fi
以上腳本加入crontab
#每半小時檢查內存使用情況,並清理一次內存
*/30 * * * * /data/shell/timing_dropcaches.sh >> /data/logs/timing_dropcaches.log
#刪除3天前的日誌
0 1 * * * /usr/bin/find /data/logs/ -name *.log -mtime +3 | grep 2018 | xargs rm -Rf {} > /dev/null 2>&1
定時 回收 CentOS 系統 內存