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反映的是可以使用的总内存大小。

  

posted on 2016-02-24 22:03  lnlvinso  阅读(282)  评论(0编辑  收藏  举报