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

  

上一篇:iOS - CAEmitterLayer 学习笔记一


下一篇:syslog-ng 3.4.3 发布,强烈建议升级 - 开源中国社区