linux中 buff/cache内存占用过多

Linux云服务器用一段时间就会出现buff/cache内存占用过多的情况,导致free空闲内存变得非常少,严重影响使用;

这个时候就可以用如下命令去清除一下cache内存

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

效果显著

每一次都自己敲一遍着实麻烦,不如设置一个定时清理的脚本

首先切换到root账户

su root
找一个目录,然后创建脚本文件

touch cleanCache.sh
用vi编辑

vi cleanCache.sh
添加如下内容

#!/bin/bash
#每天0点清除一次缓存
echo "开始清理缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
echo "清理结束"

通过如下命令测试脚本是否正常运行

chmod 777 cleanCache.sh
./cleanCache.sh

下面开始设置自动定期清理

输入如下命令,打开配置文件

crontab -e

在末尾添加如下内容:(每天0点的时候执行一次,可以按需更改)

* 0 * * * ./路径/cleanCache.sh

然后输入如下指令可以查看是否成功

crontab -l

查看原文

没有更多推荐了,返回首页