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

Posted on   jiaoqing。  阅读(3695)  评论(0编辑  收藏  举报

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

root权限创建脚本文件:

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

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

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

#可用值 0 到 3

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

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

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

1
2
3
4
5
6
crontab -e
 
0 */2 * * * sh /root/cleanCache.sh
 
//查看是否设置成功
crontab -l

  保证crond启动以及开机自启

1
2
systemctl start crond.service
systemctl enable crond.service

  查看定时任务是否被执行

1
cat /var/log/cron | grep cleanCache
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示