• 定时释放Linux/CentOS缓存


    定时释放Linux/CentOS缓存的脚本(yl_dropcaches)如下:  

    1. #!/bin/bash  
    2. used=`free -m | awk 'NR==2' | awk '{print $3}'`  
    3. free=`free -m | awk 'NR==2' | awk '{print $4}'`  
    4.   
    5. echo "===========================" >> yl_dropcaches.log  
    6. date >> yl_dropcaches.log  
    7. echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >>  yl_dropcaches.log  
    8.   
    9. # drop caches when the free memory less than 10G  
    10. if [ $free -le 10000 ] ; then  
    11.  #sync && echo 1 > /proc/sys/vm/drop_caches  
    12.  #sync && echo 2 > /proc/sys/vm/drop_caches  
    13.  sync && echo 3 > /proc/sys/vm/drop_caches  
    14.  echo "OK" >>  yl_dropcaches.log  
    15. else  
    16.  echo "Not required" >> yl_dropcaches.log  
    17. fi  
    #!/bin/bash
    used=`free -m | awk 'NR==2' | awk '{print $3}'`
    free=`free -m | awk 'NR==2' | awk '{print $4}'`
    
    echo "===========================" >> yl_dropcaches.log
    date >> yl_dropcaches.log
    echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >>  yl_dropcaches.log
    
    # drop caches when the free memory less than 10G
    if [ $free -le 10000 ] ; 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" >>  yl_dropcaches.log
    else
     echo "Not required" >> yl_dropcaches.log
    fi

    改为可执行(chmod +x yl_dropcaches)后,将其加入定时任务中:

    1. echo '*/30 * * * * sh /home/yl_dropcaches' >> /var/spool/cron/root  
    echo '*/30 * * * * sh /home/yl_dropcaches' >> /var/spool/cron/root

    然后,重启一下即可(service crond restart)。
    CentOS默认会将crontab设置为开启的状态; 可查看其状态或开启:service crond status/start/stop/restart/reload  可以用以下命令来操作crontab: crontab -l #查看List   crontab -e #编辑Edit crontab -r #删除Remove crontab的规则(cat /etc/crontab)如下:

    1. # Example of job definition:  
    2. # .---------------- minute (0 - 59)  
    3. # |  .------------- hour (0 - 23)  
    4. # |  |  .---------- day of month (1 - 31)  
    5. # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...  
    6. # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  
    7. # |  |  |  |  |  
    8. # *  *  *  *  * user-name command to be executed  
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed

    从左至右,每个*分别代表:分,时,日,月,周;最后为要执行的命令;

    
    

    其中* / - , 这些通配符的含义为:

    1. *  表示所有数值,如第一位使用* 表示每分钟    
    2. /  表示每,如第一位使用 */5 表示每5分钟    
    3. -  表示数值范围,如第二位使用2-4表示2点到4点    
    4. ,  表示离散的多个数值,如第2位使用6,8 表示6点和8点    
    5. 指定"步长":8-14/2 表示8,10,12,14    
    6. 指定列表:比如 "1,2,3,4″,"0-4,8-12″   
  • 相关阅读:
    easyui datagrid 遇到的坑 cannot read property ·· pageNum bug and so on
    原生js上传图片时的预览
    yield的理解
    js时间格式化
    js 实现复制粘贴时注意方法中需要两次点击实现的bug
    jquery 页面分页的实现
    easyui dialog 表单提交,弹框初始化赋值,dialog实现
    a标签(普通标签如span)没有disabled属性 ,怎样利用js实现该属性
    js之数据类型(对象类型——构造器对象——数组2)
    js之数据类型(对象类型——构造器对象——数组1)
  • 原文地址:https://www.cnblogs.com/zxc2man/p/8175952.html
Copyright © 2020-2023  润新知