Linux中的Buffer 与 Cache

Posted

tags:

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

  A buffer is something that has yet to be "written" to disk. 
      A cache is something that has been "read" from the disk and stored for later use.

 

  缓存(cache)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。 
  缓冲(buffer)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。

  

  缓存(cache)是为了提高内存和硬盘(或其他I/0设备)之间的数据交换的速度而设计的。

  缓冲(buffer)是为了提高cpu和内存之间的数据交换速度而设计,也就是平常见到的一级缓存、二级缓存、三级缓存。

 

  free -m中-/+ buffers/cache的意思:
  -buffers/cache :  used - buffers - cached
  +buffers/cache :  free + buffers + cached

   -buffers/cache反映的是程序实实在在占用的内存,而+buffers/cache反映的是可以使用的总内存大小。

  

以上是关于Linux中的Buffer 与 Cache的主要内容,如果未能解决你的问题,请参考以下文章

linux中的buffer和cache的区别

Linux系统buffer与cache的作用

Linux系统中的Page cache和Buffer cache

Linux中Buffer和Cache的区别

Linux中内存buffer和cache的区别

linux buffer与cache区别