1)bu"/>

buffer 和 cache 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了buffer 和 cache 的区别相关的知识,希望对你有一定的参考价值。

buffer和cache统称为缓存,功能和作用上却有所区别:

技术分享

1)buffer,内存缓冲区,各进程产生的文件临时存放区,一定时间段内统一写入磁盘,减少磁盘碎片和   硬盘的反复寻道,从而提高系统性能;

2)cache,内存缓存区,经常被用在磁盘的I/O请求上,如果有文件频繁被访问到,系统会将文件缓存在   cache区,供CPU进程等访问;CPU中的一级缓存、二级缓存、甚至是三级缓存就是为了解决读取内存   速度瓶颈;


而在Linux中可用内存到底怎么计算?

Linux是尽可能使用内存原则,内存会把剩余的空间申请为cache,而cache不属于free

当系统运行时间很长,我们会发现cache很大,就是这个道理

需要注意的是,当我们看到系统内存使用率很高,free几乎为0时,并不代表系统内存容量有瓶颈!只是系统充分发挥了内存作用。而当有进程需要申请大文件内存时,内核会将部分cache空间回收,回收的内存再分配给进程程序使用。


SO...


技术分享

可用内存= free + buffer + cache

内存可用率=1 - (buffer used / total)=1-(237/981)=76%

而不是:170/981=17%


以上是关于buffer 和 cache 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Linux中内存buffer和cache的区别

Linux操作系统中内存buffer和cache的区别

Buffer和Cache的区别

Linux中Buffer和Cache的区别

buffer 和 cache 的区别

Buffer和Cache的区别