LINUX系统脚本:定时检查系统可用内存,当可用内存不足时进行释放内存(缓存)

        随着LINUX系统的运行,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,例如当你在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为缓存。此时就需要执行释放内存(清理缓存)的操作了:

一、使用指令free -h或者free -g查看内存使用情况:

二、当内存的free值达到阈值时,进行释放内存(缓存):

1、创建check_mem.sh文件:

/usr/local/bin/vi check_mem.sh

2、写入以下脚本,当内存free值等于0时(具体数值可自行配置)开始手动释放内存(缓存):

#!/bin/bash

FreeMem=`free -g | grep Mem | awk '{print $4}'`    #取free -g的Mem行第四列值(free值)
if [ $FreeMem -eq 0 ]                              #当FreeMem等于0时
   then
        sync;sync;sync                             #将缓存区数据写入磁盘中
        sleep 10                                   #等待10秒
        echo 3 > /proc/sys/vm/drop_caches          #释放内存
fi

-gt   :    (greater than) 大于

-ge  :    (greater than or equal) 大于或等于

-lt    :    (less than) 小于

-le   :    (less than or equal)小于或等于

-ne  :    (not equal) 不相等

-eq  :    (equal) 相等

3、授权check_mem.sh

chmod +x check_mem.sh

三、添加定时任务:

vi /etc/crontab

添加定时任务每两个小时执行一次

* */2 * * * root /usr/local/bin/check_mem.sh

完成后配置后,系统会每两个小时检查一次内存free值,当达到设定值时进行释放内存(缓存)。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值