文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院操作系统 LinuxLinux操作系统中内存buffer和cache的区别
精品推荐
特别推荐
·高效使用Linux的七个好习惯
·为何Linux比Windows更安全?
·Linux和Unix最常用的网络命令
·Linux系统下安全防护十大招数
·Linux各种服务器的架设
·Linux操作系统下用单网卡捆绑双IP
·恢复被误删除的Linux文件
·在Linux服务器上做备份和恢复
·Linux中网络参数的意义及其应用
·linux知识大全
热点TOP10
·为Canon PIXMA iP1000喷墨打印机安装驱动程序
·用.iso文件从硬盘安装redhat linux 7.3
·Linux root密码丢失后的解决
·安装,配置rp-pppoe拨号软件,使adsl成功上网
·日内瓦学校将全面换用Linux系统
·Linux系统安全机制进阶分析
·Linux下限制Root用户进行远程登陆
·Linux和Windows系统升级的最大不同
·Linux系统下VPN服务器配置方法
·提高Linux操作系统网速的方法

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

日期:2007年9月22日 作者: 查看:[大字体 中字体 小字体]


Free
  free 命令相对于top 提供了更简洁的查看系统内存使用情况:


  $ free
  total used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000

  Mem:表示物理内存统计
  -/+ buffers/cached:表示物理内存的缓存统计
  Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。

  系统的总物理内存:255268Kb(256M),但系统当前真正可用的内存b并不是第一行free 标记的 16936Kb,它仅代表未被分配的内存。

  我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。

  total1:表示物理内存总量。

  used1:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。

  free1:未被分配的内存。

  shared1:共享内存,一般系统不会用到,这里也不讨论。

  buffers1:系统分配但未被使用的buffers 数量。

  cached1:系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。

  used2:实际使用的buffers 与cache 总量,也是实际使用的内存总量。

  free2:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。

  可以整理出如下等式:
  total1 = used1 + free1total1 = used2 + free2used1 = buffers1 + cached1 + used2free2 = buffers1 + cached1 + free1

  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.

  更详细的解释参考:Difference Between Buffer and Cache

  对于共享内存(Shared memory),主要用于在UNIX 环境下不同进程之间共享数据,是进程间通信的一种方法,一般的应用程序不会申请使用共享内存,笔者也没有去验证共享内存对上面等式的影响。如果你有兴趣,请参考:What is Shared Memory?

  cache 和 buffer的区别:
  Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。

  Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。

  Free中的buffer和cache:(它们都是占用内存):

  buffer : 作为buffer cache的内存,是块设备的读写缓冲区

  cache: 作为page cache的内存, 文件系统的cache

  如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。

(出处:清风网络学院






上一篇:删除Linux下/tmp目录引起的不正常登录系统

下一篇:四个与数据库相关的实用问答

相关文章:
·一步成高手:终极图解内存(下篇)
·新手入门:操作系统重装完全攻略
·0X000000该内存不能为read的解决方法
·快马加鞭 20秒进入Win XP操作系统
·关于提高操作系统重装
·打造N合1操作系统安装光盘
·内存不能为read written解决方法
·DVD-R和DVD+R的区别
·如何卸载WindowsXP操作系统
·Windows 虚拟内存详解
相关软件:
·三国志10威力加强PK版中文版 内存+存档+剧本修改器v1.10
·死亡之屋3 内存修改器
·鸟哥的linux私房菜:基础学习篇
·旗文内存整理V1.0.0.0
·understanding the linux kernel
·红帽子Red Hat Linux 8.0(3G,5CD)
·Linux 系统命令及其使用详解(大全)
·LINUX设备驱动程序(内核2.2)
·剑侠情缘外传月影传说中文版 完美内存修改器v2.0A版
·Cacheman V5.11 汉化版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot