指点成金-最美分享吧

登录

Linux中buff-cache占用过高解决方案

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了Linux中buff-cache占用过高解决方案相关的知识,希望对你有一定的参考价值。

> free -h

什么是buff

什么是cache

清除buff/cache

手动清除

> sync> echo 1 > /proc/sys/vm/drop_caches> echo 2 > /proc/sys/vm/drop_caches> echo 3 > /proc/sys/vm/drop_caches
  • sync:将所有未写的系统缓冲区写到磁盘中,包含已修改的i-node、已延迟的块I/O和读写映射文件
  • echo 1 > /proc/sys/vm/drop_caches:清除page cache
  • echo 2 > /proc/sys/vm/drop_caches:清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
  • echo 3 > /proc/sys/vm/drop_caches:清除pagecache和slab分配器中的缓存对象。
    /proc/sys/vm/drop_caches的值,默认为0

定时任务清除

> vim clean.sh#!/bin/bash#每两小时清除一次缓存echo "开始清除缓存"sync;sync;sync #写入硬盘,防止数据丢失sleep 20#延迟20秒echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_caches> chmod +x clean.sh> crontab -e# 每两小时执行一次0 */2 * * * /opt/clean.sh
  • 设置crond启动以及开机自启
  • systemctl start crond.service
  • systemctl enable crond.service

原文链接:https://rumenz.com/rumenbiji/linux-buff-cache.html
微信公众号:入门小站

以上是关于Linux中buff-cache占用过高解决方案的主要内容,如果未能解决你的问题,请参考以下文章