Linux内存占用大,用Shell脚本自动定时清除/释放内存

Posted on 2021-02-20 22:24  jiaoqing。  阅读(3876)  评论(0)    收藏  举报

Linux系统buff/cache 中缓存数据占用内存过高,定时清理buff/cache ,释放系统内存

root权限创建脚本文件:

touch cleanCache.sh && vim cleanCache.sh
#!/bin/bash
echo "开始清理缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 1 > /proc/sys/vm/drop_caches
echo "清理结束"

#脚本可以根据自己情况修改:

#默认是0,不清除缓冲区缓存和页面缓存

#可用值 0 到 3

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

#值越高系统上的程序会跑起来越慢

设置定时任务,每隔2小时运行一次

crontab -e

0 */2 * * * sh /root/cleanCache.sh

//查看是否设置成功
crontab -l

  保证crond启动以及开机自启

systemctl start crond.service
systemctl enable crond.service

  查看定时任务是否被执行

cat /var/log/cron | grep cleanCache

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3