加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux如何达成自动化的内存释放

发布时间:2023-09-06 10:58:13 所属栏目:Linux 来源:
导读:Linux在使用中内存会随着时间慢慢的变小,已经是经常能见到的事了,这个时候就需要我们去人工干预,来进行内存的释放。本文将使用Linux的Cron定时任务结合Shell脚本来实现自动化的内存释放。基本流程:1、编写Shell脚

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中,便于我们查看。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章