架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1396|回复: 1

[linux] Linux 下内存 buff/cache 占用过大问题

[复制链接]
发表于 2022-12-10 12:07:49 | 显示全部楼层 |阅读模式
需求:使用 free -h 命令查看内存使用情况,发现可用内存只有不到 1G,系统是刚安装的,并没有执行太多的服务程序,只是刚才有从远程服务器复制文件到本机,发现 buff/cache 占用特别高。

原因:buff为写文件缓存,cache为读文件缓存,linux在缓存使用后并不会马上释放,而是用来缓存其他信息提高io效率,所以有过大文件读写操作就会造成buff/cache 变高

在Linux下经常会遇到buff/cache内存占用过多问题,尤其是使用云主机的时候最严重,由于很多是虚拟内存,因此如果buff/cache占用过大的,free空闲内存就很少,影响使用;

通常内存关系是:

普通机器:total=used+free

虚拟机器:total=used+free+buff/cache

QQ截图20221210120123.jpg

buff/cache 是由于系统读写导致的文件缓存,没有及时释放,解决方案如下:

drop_caches的值可以是0-3之间的数字,代表不同的含义:

0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存

执行后,如下图:

QQ截图20221210120725.jpg

(完)





上一篇:VS 2022 设置项目生成 .pdb 文件
下一篇:ASCII码、ISO8859-1、Unicode、GBK和UTF-8 的区别
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-12-11 23:01:30 | 显示全部楼层
学习一下
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 21:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表