Linux清除缓存buff/cache

简介: Linux清除缓存buff/cache

使用free -h 查看内存情况发现buff/cache缓存占用太多了

导致我hive都跑不动

原因:

buff/cache是由于系统读写导致的文件缓存,没有及时释放

办法:清除缓存

# 这个drop_caches文件可以设置的值分别为1、2、3\
echo 1 > /proc/sys/vm/drop_caches  # 表示清除pagecache\
echo 2 > /proc/sys/vm/drop_caches  # 表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 3 > /proc/sys/vm/drop_caches  # 表示清除pagecache和slab分配器中的缓存对象。


跑这三个命令就可以了

高级办法

这里可以写个脚本来自动定时清除缓存,新建一个脚本

touch cleanBuffCache.sh

#!/bin/bash
echo "开始清理缓存"
# 写入硬盘,防止数据丢失
sync;sync;sync; 
# 延迟10S
sleep 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 cleanBuffCache.sh


测试一把,执行一下我们的脚本


./cleanBuffCache.sh


接下来,我们执行命令打开文件添加定时任务


crontab -e


再打开的文件中添加我们的定时任务执行的时间 以及执行的文件路径


* 0 * * * ./tools/clean/cleanBuffCache.sh


添加完成后,保存,退出


为了确保我们添加成功,可执行下面的命令查看我们是否追加成功


crontab -l

目录
相关文章
|
17天前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
260 10
|
2月前
|
存储 缓存 NoSQL
Spring Cache缓存框架
Spring Cache是Spring体系下的标准化缓存框架,支持多种缓存(如Redis、EhCache、Caffeine),可独立或组合使用。其优势包括平滑迁移、注解与编程两种使用方式,以及高度解耦和灵活管理。通过动态代理实现缓存操作,适用于不同业务场景。
224 0
|
9月前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
767 78
|
存储 缓存 NoSQL
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
156 2
|
10月前
|
存储 缓存 监控
|
11月前
|
存储 缓存 固态存储
|
存储 缓存 Linux
Linux下的Cache和TLB刷新 【ChatGPT】
Linux下的Cache和TLB刷新 【ChatGPT】
154 11
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
|
Linux
linux下清理buffer/cache
linux下清理buffer/cache
106 3
|
存储 缓存 Linux
在Linux中,buffer和cache如何区分?
在Linux中,buffer和cache如何区分?