zoukankan      html  css  js  c++  java
  • CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存

    CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存
    来自:互联网 时间:2020-03-22 阅读:114
    以下情况可能造成Linux内存占用过高
    服务配置存在直接分配错误,或隐性分配不合理等
    程序有BUG
    被恶意流量数据包攻击
    资源配置与流量不科学
    CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存
    都会造成服务器内存占用过高,出现访问延迟高,速度慢甚至挂机的问题。想要根除这个问题最科学的方法:
    使用top等命令找出内存占用高的进程
    分析原因:程序BUG/服务配置不合理或错误
    根据原因进行针对性修复优化
    但今天我们只讲通过shell脚本CentOS/Linux自动定时清除/释放内存的方法,此方法属于加法优化,在上面的基础上进行优化补充。
    CentOS/Linux自动定时清除/释放内存
    编写 shell 文件:dropcache_min.sh:简约
    #!/bin/bash
    #每两小时清除一次缓存
    echo "开始清除缓存"
    sync;sync;sync #写入硬盘,防止数据丢失
    sleep 10#延迟10秒
    echo 3>/proc/sys/vm/drop_caches
    编写 shell 文件:dropcache.sh:条件判断
    #!/bin/bash
    used=`free -m | awk 'NR==2' | awk '{print $3}'`
    free=`free -m | awk 'NR==2' | awk '{print $4}'`
    echo "===========================" >> /var/spool/cron/dropcache.log
    date >> /var/spool/cron/dropcache.log
    echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/spool/cron/dropcache.log
    #如果可用内存小于5.5G则进行清理释放
    if [ $free -le 5500 ] ; 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/spool/cron/delcache.log
    else
    echo "Not required" >> /var/spool/cron/dropcache.log
    fi
    保存脚本并赋权限,
    $ chmod +x dropcache.sh
    # 测试权限
    $ ./dropcache.sh
    用root用户创建定时任务
    $ echo "*/30 * * * * root /var/spool/cron/dropcache.sh" >> /etc/crondtab
    每30分钟自动运行。
    确保crond启动以及开机自启
    相关命令# 开机自启 $ systemctl enable crond.service service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置 service crond status //查看服务状态 # 查看定时任务是否被执行 $ crontab -l

  • 相关阅读:
    Vue2+VueRouter2+webpack 构建项目实战(一):准备工作
    vue+webpack 安装常见插件
    JS与CSS阻止元素被选中及清除选中的方法总结
    IE浏览器的ActiveXObject对象以及FileSystemobject的应用扩展(完成)
    用webpack2.0构建vue2.0超详细精简版
    从淘宝和网易的font-size思考移动端怎样使用rem?
    用CSS开启硬件加速来提高网站性能
    JS实现数组去重方法整理
    [总结]高效的jQuery代码编写技巧
    JS apply的巧妙用法以及扩展到Object.defineProperty的使用
  • 原文地址:https://www.cnblogs.com/xuanbjut/p/14271536.html
Copyright © 2011-2022 走看看