转载来源 :shell脚本——释放缓存 :https://blog.csdn.net/qq_22543991/article/details/82386790
环境:先公司测试环境下面运行这很多tomcat,这样导致物理内存不够用。目前我这边只能通过手动清理:
Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

手动运行的话就3条命令

sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches

其中sync 是先同步缓存到文件系统

这样的话很不方便所以我这边写了个脚本用于自动清理

我这边设置的是当可用内存少于1000M的时候再清理

#! /bin/sh
#释放Slab占用的cache内存空间
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 before | [Use:${used}MB][Free:${free}MB]” >> /var/log/mem.log
if [ $free -le 1000 ] ; 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
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]” >> /var/log/mem.log
echo “OK” >> /var/log/mem.log
else
echo “Not required” >> /var/log/mem.log
fi
exit 1

首先还是要先创建/var/log/mem.log 不然会报错

以及权限也要设置755

然后通过contab去设置每小时执行一次,如果大于1000就跳过,小于1000就同步并且清理

* */1 * * * /usr/local/shell/free.sh

参考链接 :
shell脚本——释放缓存 :https://blog.csdn.net/qq_22543991/article/details/82386790

shell脚本——释放缓存相关推荐

  1. 释放linux缓存文件命令,Linux定时释放缓存Shell脚本实现自动化运维 | kTWO-个人博客...

    使用Linux服务器的用户应该都知道,Linux在使用的时候,可用内存会随着时间慢慢的变小,最终可能到80%-90%,这个时候就需要我们去人工干预,来进行魂村的释放. 本文将使用Linux的Cron定 ...

  2. Shell脚本批量清除Nginx缓存

    前言*随着整个互联网的发展,产生了无数大大小小的网站,随之而来用户对网站UI和速度体验也在日益加强,对企业或者个人来说,赢得用户体验也就意味着赢得先机. 那今天我们在这里针对网站速度这方面来一起交流, ...

  3. linux mysql清除缓存_案例:通过shell脚本实现mysql数据备份与清理

    导读 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行,实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此 ...

  4. tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum...

    tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 t ...

  5. Shell脚本学习-阶段二十七-命令解释一

    文章目录-命令解释一 前言 as expr gcc gcov gdb indent ld ldconfig ldd make mktemp nm objdump perl php protoize u ...

  6. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter1-Chapter16 )

    一.初识 Linux shell Linux 系统可划分为以下 4 部分. Linux 内核 GNU 工具 图形化桌面环境 应用软件 内核主要负责以下 4 种功能. 系统内存管理 内核通过硬盘上称为交 ...

  7. 【shell脚本开发技术】linux中shell script脚本开发编程常用命令与脚本速记指南

    shell script #!/bin/bash # do something run shell script sh script.shorchmod a+x script.sh ./script. ...

  8. LINUX SHELL脚本攻略笔记[速查]

    LINUX SHELL脚本攻略笔记[速查] Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgr ...

  9. shell监控java接口服务_Linux系统下Java通过shell脚本监控重启服务

    简介 最近运维人员提出需求,增加一个运维页面, 查询当前的业务进程信息包括:进程名称.启动命令.启动时间.运行时间等,可以通过页面点击重启按钮,可以重启后端的一系列系统进程. 思路 java程序获取l ...

最新文章

  1. Spoooooky CSS 选择器
  2. Qt Creator 设置默认编码格式
  3. pandas统计缺失值的个数
  4. Linux系统\Centos没有网卡eth0配置文件怎么办?
  5. php中提示注意怎么解决,PHP中操作MySQL时一定要注意
  6. C语言数字3转变字符 3 程序,大学c语言知识点总结
  7. #华为云·寻找黑马程序员#【代码重构之路】如何优雅的关闭外部资源
  8. sql always on_Always On可用性组中具有发布者数据库SQL复制
  9. SparkStreaming 入门案例之wordcount
  10. 统计分析与R软件-chapter2-4
  11. Blender的简单技巧——阵列、旋转、数组和曲线
  12. vscode中java打包exe
  13. 卡巴斯基2010激活码
  14. Appro DM36x IPNC 4.0 开发环境配置
  15. 2013 HTML5 峰会,HTML5 守望者的盛宴
  16. 【大数据】阿里云大数据专业认证考试
  17. 实用工具和网站合集分享
  18. 55.跳跃游戏(Jump Game)
  19. 软件浪涌测试原理与功能,雷击浪涌测试仪工作原理及优势
  20. datepicker unity 下载_unity日历DatePicker for UnityUI 1.18(亲测可用)

热门文章

  1. js函数提示 vscode_VSCode + JSDoc 完美实现(almost)JavaScript代码提示
  2. acrobat xi pro 简体中文语言支持包_恐龙模拟新作《Paleo Pines》Steam明年发售 支持简中...
  3. R_地图上的迷你直方图
  4. Android 计算地球上两点的距离
  5. 独家揭秘:微博深度学习平台如何支撑4亿用户愉快吃瓜?
  6. CentOS7.x编译安装nginx,实现HTTP2
  7. [翻译]关于Swift的编译时间优化
  8. 数据库注册两种方式的比较
  9. Codeforces Round #296 (Div. 2) C. Glass Carving [ set+multiset ]
  10. SQL高级---SQL NULL 值