查看目录是否为内存盘_Linux buff/cache内存释放

free 命令 产看内存占用一览:

34231160409075d5105735ace4655a3f.png

free 参数:

80e8673220a108460d270a16fe55ae00.png


    今天部署项目的时候,发现pm2命令卡顿不能正确执行,一开始以为是pm2版本的问题,后面升级pm2到最新版本也没有解决问题。既然和pm2本身没有关系,那么就从其它地方检查,检查端口、检查内存、检查防火墙,折腾了半天最后解决了问题,(不在此扩展这个问题)。在检查内存占用的时候,发现buff/cache 占有比例过大,free内存直接剩下仅仅几十兆。

 先手动释放一拨儿内存,执行命令:

echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_caches

执行完成后,立竿见影,内存一下子释放了出来,但是当再次执行 free 命令后,发现缓存一直在不停的写入:

9b8cc11d9d8f8258095f50e8564049c5.png

因此,需要设置定时释放:

1、创建可执行的 .sh 文件:根据个人的实际情况选择存放目录,我的这个服务器下 .sh 大部分都在 /bin/ 目录下 ,因此在该目录下创建 cleanCache.sh 文件

7be3d5d5b7e0625e3757f9376b41fe65.png

2、编辑cleanCache.sh 文件:

echo "开始"sync;sync;sync #写入硬盘,防止数据丢失sleep 10 #延迟10秒echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_cachesecho "结束"

3、chmod 777  + 文件或目录,(示例:chmod  777 /test 运行命令后,test文件夹(目录)的权限就被修改为 777 可读可写可执行) 赋予cleanCache 文件可执行权限:

chmod 777 cleanCache.sh  

4、crontab -e 打开并编辑定时执行配置文件,在文件后面追加执行命令 。Linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond 命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。注意路径:

crontab -e

03dff06410fefbe25bb2afe24b4326db.png

文件路径前面有五个星号,为了方便观察 */1 代表每一分钟执行一次,每个*号代表的意义可看这篇文章 https://www.cnblogs.com/qi-yuan-008/p/13587233.html。

* * * * * shell_command# 第一个*号表示分钟:范围在0-59# 第二个*号表示小时:0-23# 第三个*号表示一个月的第几天:1-31# 第四个*号表示月份:1-12;或者英文缩写,例如jan等# 第五个*号表示星期:0-6,(星期天=0或者7);或者英文缩写,例如sun,mon,fri等

编辑完成后退出,查看:

453db66c8a71627a879b6ca41253f6de.png

修改完成后为了保证文件执行可再次赋权一下:chmod 777 cleanCache.sh ,一切完成后,可多次执行 free 观察变化,当分钟发生变化的时候 ,buff/cache 出现下降:

3afb9ac9e1a1a76ef210616f60e7f416.png


上面是为了方便观察定时设置为每分钟执行一次,实际可根据自己需要延长定时时间。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值