Linux中buff/cache内存占用过高,手动释放内存

这篇具有很好参考价值的文章主要介绍了Linux中buff/cache内存占用过高,手动释放内存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

buff/cache内存占用太高

我们在使用free -h或者(top命令)查看系统内存的时候,有时间会发现buff/cache很高,如下图:(可以看到总内存就251G,buff/cache占用了174G)

释放buffer/cache空间命令,缓存

什么是buff

buff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。

什么是cache

cache(Page Cache)是一种高速缓存,用于CPU和内存之间的缓冲 ,是文件系统的cache。把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。它们都是占用内存。两者都是RAM中的数据。

buff和cache

简单来说,buff是即将要被写入磁盘的,而cache是被从磁盘中读出来的。

手动清除buff/cache

/proc/sys/vm/drop_caches的值,默认为0文章来源地址https://www.toymoban.com/news/detail-660308.html

sync                                   # 将所有未写的系统缓冲区写到磁盘中

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分配器中的缓存对象。

到了这里,关于Linux中buff/cache内存占用过高,手动释放内存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下内存buff/cache占用过多问题解决

    在Linux下经常会遇到buff/cache内存占用过多问题, 尤其是使用云主机的时候最严重,由于很多是虚拟内存,因此如果buff/cache占用过大的, free空闲内存就很少,影响使用; 通常内存关系是: 普通机器:total=used+free 虚拟机器:total=used+free+buff/cache 比如说用阿里云云主机,就是

    2024年02月16日
    浏览(47)
  • Centos 系统内存 buff/cache 占用过多

    查看Centos内存使用情况: free -h 在云服务器上,total = used + free + buff/cache Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。 还可以使用下面这个文件来人工

    2024年02月16日
    浏览(45)
  • 【linux】关于内存free转换到buffer/cache之后,内存被用完的解决思路

    最近跑程序,发现linux在执行大量读写操作后,内存的可用(free)会不断被buffer/cache所占据,导致内存空间被用完,一直以为是代码哪里写的问题,导致内存泄露,后来发现就是发生了I/O读写操作后,会产生buffer/cache,需要定时释放。 这个情况也是第一次遇到,不知道如何解

    2024年02月14日
    浏览(48)
  • Linux 内存详解,即top、free、vmstat、meminfo、Buffer和Cache的介绍

    Linux  内存详解,即top、free、vmstat、meminfo、Buffer和Cache的介绍_用作内核缓存的内存量_zzhongcy的博客-CSDN博客       top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来

    2024年02月03日
    浏览(44)
  • Linux 定时清理buff/cache

    总所周知,linux系统下的内存一直都不够用,特别是对于一些WEB网站而言,特别是针对一些小型服务器,内存一下子就占满了 通过我们用free -h 查询内存的占用大小时,总会发现buff/cache暂用过大 解决的方法一般可以直接清理 或者定时清理 选择其中一个清理就行了,例如    

    2024年02月09日
    浏览(43)
  • Linux清除缓存buff/cache

    使用free -h 查看内存情况发现buff/cache缓存占用太多了 导致我hive都跑不动 原因: buff/cache是由于系统读写导致的文件缓存,没有及时释放 办法:清除缓存 跑这三个命令就可以了 高级办法 这里可以写个脚本来自动定时清除缓存,新建一个脚本 touch cleanBuffCache.sh 给定义的脚本赋

    2023年04月23日
    浏览(77)
  • 解决VMware内存占用过高问题

    回顾多年的记录笔记方法,… VMware虚拟机使用时间一段时间后,会出现开启VMware客户机内存占用过高问题。 1、VMware cache缓存区目录占用太大空间。 2、由于VMware是跨平台的虚拟技术,在使用VMware时,VMware会定时的监测电脑的外部硬件接口,如光驱,USB,现在电脑基本没有光

    2024年02月09日
    浏览(48)
  • 解决mysql启动占用运行内存过高

    方法1(选取于网络,针对自己的服务器没起作用) 修改my.cnf参数: 重启mysql服务。我这里遇到的没解决,不知道其他人能够解决问题,物理 内存300M以及虚拟内存1G依旧,没改善。 方法2:(解决了当前自己遇到的问题) 要关闭 Performance Schema ,5.6默认开启的,该参数主要用

    2024年02月07日
    浏览(54)
  • Java内存占用过高问题分析

    这里我们创建一个springboot项目, 然后随便写一个contoller, 在这个controller中定义一个List集合, 然后再初始化的时候让集合中10万个字符串, 然后部署并启动项目(这里为了贴近实战, 我是在centos中启动的项目) 进入系统, 使用top命令显示系统中的进程信息, 然后点击H(大写), 以内存排

    2024年02月09日
    浏览(56)
  • mysql内存占用过高的问题

    现象:在mysql运行一天之后,发现内存占用量达到总内存的百分之77,且swap被占用百分之50 问题检查如下: 第一步:开启内存使用的监控服务 第二步: 查看正常实例的使用情况 第三步: 查看内存监控表数据 第三步: 查看事件类型下的内存量 问题解决:         当事件的

    2024年02月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包