!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>Linux系统服务器如何实现自动化的内存释放

Linux系统服务器如何实现自动化的内存释放

Linux系统服务器在使用中内存会随着时间慢慢的变小,已经是经常能见到的事了,这个时候就需要我们去人工干预,来进行内存的释放。本文将使用Linux的Cron定时任务结合Shell脚本来实现自动化的内存释放。
  基本流程:
  1、编写Shell脚本,检测当前服务器的内存使用率,如果达到了我们预设的值则强制释放内存。
  2、将编写好的Shel脚本,添加到Cron定时任务列表中,设置运行周期。
  释放缓存的Shell脚本:
  如果在终端中我们通常是使用下面的命令来释放内存:

  sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,echo 3 >> /proc/sys/vm/drop_caches 命令是强制释放缓存的命令,下面给出shell脚本freeMemory.sh

  脚本中获取并计算了当前内存的使用率,在执行脚本的时候需要加一个参数,也就是我们设置的最大内存使用率,当超过这个值时便会执行释放内存的命令。ok我们的shell脚本保存在了/root/freeMemory.sh.添加定时任务。在定时任务这我们用到了cron这个定时工具,我们这里就不详细解释了,下面只说用法,后面我会写一篇专门的文章来介绍该定时工具。在终端中执行下面的命令,来查看当前的定时任务:

  看上面的格式,一共是6列,前五列是时间周期,第6列是我们要执行的命令。前五列的解释如下:

  根据上面时间的格式规则我们可以设置我们自己的定时周期,这里我设置了每天的23点执行一个脚本,步骤如下:
  1、执行命令crontab -e打开编辑定时配置文件;
  2、在文件的最后面添加下面的命令:

  上面我们设置了每天的23点执行命令我们的脚本,参数设置70,就是当检测到内存使用率大于70的时候回执行释放缓存命令,后面的>>是重定向命令吗,会将脚本的执行结果写进文件freeMemoryLog.txt中,便于我们查看。

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

香港服务器Apache日志文件增长太快解决办法

2021-4-17 19:10:21

服务器教程

香港主机Nginx服务器常见错误和解决办法

2021-4-17 19:10:23

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase