169
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
Linux操作系统云主机中buffer和cache占用内存怎么办?

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


点击这里点击这里注册天翼云VIP帐号,立即体验云服务器>>>

本文介绍如何处理linux操作系统云主机中buffer和cache占用内存问题。

问题描述

系统长期运行后,free命令查看系统内存,发现剩余内存不足,大部分是buffers和cached。

image.png

问题分析

在Linux操作系统中,缓冲(buffer)和缓存(cache)占用了部分内存。这些是操作系统用于提高文件系统和磁盘访问性能的正常数据结构。然而,如果你发现内存占用过高,可能需要采取一些措施来优化系统。

在 Linux 的内存管理中,buffer是Linux内存中的Buffer cache。cache是Linux内存中的Page cache。

· Buffer cache:主要是当系统对块设备进行读写的时候,对块进行数据缓存的系统来使用,即对块的操作会使用buffer cache进行缓存。

例如:当对一个文件进行写操作的时候,page cache 的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。内核在后续执行脏数据的回写writeback时,就不用将整个page写回,而只需要写回修改的部分可。

· Page cache:主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程文件有read/write操作的时候。Linux默认会将读取的文件内容缓存在内存中,方便后续使用。

Linux默认使用的是lazy模式,即内存如果还够用,则不会主动释放当前的占用的buffer和cache,如果需要内存,则会自动释放buffer和cache,所以正常情况下,cache占用高不会对系统造成影响。

处理方法

buffer和cache是Linux对系统设备的正常环境,占用内存并不会影响系统的运行,反而强制清除cache会导致读取磁盘数据时需要重新通过IO从磁盘读取,影响系统运行速度。

说明

如需清理系统buffer和cache,可以执行以下命令:

# echo 3 > /proc/sys/vm/drop_caches

根据内存大小可能需要几秒钟,执行完后相应内存被释放


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!