linux内存buff参数解释,[Linux]buff/cache详解

本文介绍了Linux系统中内存管理的`buffers`和`cached`参数,阐述了它们对提高文件读取效率的作用。通过`free`命令观察内存使用情况,并详细解释了如何通过调整`/proc/sys/vm/drop_caches`释放内存,以解决内存被大量占用的问题。同时,区分了buffer和cache在内存管理中的不同角色。
摘要由CSDN通过智能技术生成

细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.

先来说说free命令

[root@server

~]# free -m

total used free shared buffers cached

Mem: 249 163 86 0 10

94

-/+

buffers/cache: 58 191

Swap: 511 0

511

其中:

total

内存总数

used

已经使用的内存数

free

空闲的内存数

shared

多个进程共享的内存总额

buffers

Buffer Cache和cached

Page Cache 磁盘缓存的大小

-buffers/cache 的内存数:used - buffers -

cached

+buffers/cache 的内存数:free + buffers +

cached

可用的memory=free

memory+buffers+cached

有了这个基础后,可以得知,我现在used为163MB,free为86,buffer和cached分别为10,94

那么我们来看看,如果我执行复制文件,内存会发生什么变化.

[root@server

~]# cp -r /etc ~/test/

[root@server ~]# free -m

total used free shared buffers cached

Mem: 249 244 4 0 8

174

-/+

buffers/cache: 62 187

Swap: 511 0

511

在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐都被cached吃掉了.别紧张,这是为了提高文件读取效率的做法.

为了提高磁盘存取效率,

Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),

还采取了两种主要Cache方式:Buffer Cache和Page

Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了

I/O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值