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

  

时间: 2024-10-05 23:50:09

Linux中的Buffer 与 Cache的相关文章

linux中的buffer和cache的区别

***今天我们再来简单讨论下linux系统中关于Buffer和Cache的区别,buffer与cache操作的对象就不一样.``` 1.buffer(缓冲区) 是为了提高内存的硬盘(或其他i/o设备)之间的数据交换的速度而设计 1. 2.cache经常被用在磁盘io请求上,如果有多个进程都要访问某个文件,于是该文件被做成cache都被访问,这样可以提高系统的性能 | Column 1 | Column 2 | Column 3 | | -------- | -------- | --------

Linux操作系统中内存buffer和cache的区别--从free命令说起(转)

原文链接:http://os.51cto.com/art/200709/56603.htm 我们一开始,先从Free命令说起. Free free 命令相对于top 提供了更简洁的查看系统内存使用情况: $ free total used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000 Mem:表示物理内存统计

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

Free free 命令相对于top 提供了更简洁的查看系统内存使用情况: $ free total             used         free     shared     buffers     cached Mem:     255268     238332     16936     0             85540     126384 -/+ buffers/cache: 26408 228860 Swap:  265000         0        

Linux下的buffer与cache

最近在做监控项目的时候,有同事跟我说"你看Linux性能也不好嘛,内存使用率总是达到80%,我在windows下也没这种状况",我跟他解释,因为Linux系统,是尽可能的使用内存,内存不是拿来看的,是需要拿来用的,而对于windows,无论你的windows内存是多少,它还是会用硬盘交换文件来读(即使内存空间还有很多空余),而对于Linux,在查看内存使用率的时候,只要没有用到swap空间,我们就认为内存暂时不会紧缺. 那Linux下的buffer与cache到底是什么?又有什么区别了

如何在 Linux 中清除缓存(Cache)

          如何在 Linux 中清除缓存(Cache)            方法一: http://mp.weixin.qq.com/s?__biz=MjM5ODAzODgyMQ==&mid=400360290&idx=3&sn=129d0f5f990d668e1226a703c5a29b71&scene=0#wechat_redirect 方法二: http://www.linuxidc.com/Linux/2010-03/24939.htm

Linux中的Buffer Cache和Page Cache

http://wenku.baidu.com/view/dd677d2fcfc789eb172dc868.html http://bbs.chinaunix.net/thread-3759086-1-1.html http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4189715&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline 了解下

Linux内存中的 buffer 和 cache 到底是个什么东东?

Linux 中的 free 命令,会输出: total 总量 used  已使用 free 空闲 shared 共享内存 buffers cached 前面四项都比较好理解,一看我也就知道啥意思了.但是buffer 和 cached 我就一直不很理解,终于看到某篇文章写的很详细,于是记下来: ·A buffer is something that has yet to be "written" to disk. ---buffer 写缓存,数据存储时,先保存到磁盘缓冲区,然后再写入到永

关于Linux下的buffer和cache的区别

cache是高速缓存,是CPU和内存之间的缓冲.因为CPU的速度远远高于主存的速度,当CPU要从内存当中获取数据的时候,通常要等待一段时间.cache中保存着CPU刚刚使用或者是循环使用的一些数据,当CPU需要再次取用这些数据的时候,就会调用cache中的数据,这样就减少了CPU的等待时间,提高了系统的效率.cache可以分为一级cache和二级cache,一开始一级cache是集成在CPU中,二级cache是集成在主板上,现在的二级cache也是集成在CPU内部. buffer是优先级不同或者

Linux内存学习之buffer和cache的区别详解

本文和大家分享的主要是linux 中 内存buffer 和 cache 的区别相关内容,一起来看看吧,希望对大家 学习linux有所帮助. 细心的朋友会注意到, 当你在 linux 下频繁存取文件后 , 物理内存会很快被用光 , 当程序结束后 , 内存不会被正常释放 , 而是一直作为 caching. 这个问题 , 貌似有不少人在问 , 不过都没有看到有什么很好解决的办法 . 那么我来谈谈这个问题 . 先来说说free 命令 [[email protected] ~]# free -m tota