首页 > 系统相关 >Linux中Buffer和Cache的区别

Linux中Buffer和Cache的区别

时间:2023-05-08 17:12:27浏览次数:34  
标签:Cache Buffer cache buffer 内存 Linux CPU

Linux中Buffer和Cache的区别

1. cache,缓存区,是高速缓存。是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。 Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能。   2. buffer,缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到buffer,达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备CPU可以干其他的事情。

Buffer:一般是用在写入磁盘的,例如:某个进程要求多个字段被读入,当所有要求的字段被读入之前已经读入的字段会先放到buffer中。

 

ache和Buffer的相同点:都是2个层面之间的中间层,都是内存。
Cache和Buffer的不同点: Cache解决的是时间问题,Buffer解决的是空间问题。

 

在Free命令中显示的buffer和cache,它们都是占用内存:

buffer : 作为buffer cache的内存,是块设备的读写缓冲区,更靠近存储设备,或者直接就是disk的缓冲区。

cache: 作为page cache的内存, 文件系统的cache,是memory的缓冲区 。

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

 

Cache为了提高访问“命中率”,要的是快速找到。

Buffer是为了减少频繁操作,把一系列类似的事情攒起来一次干。

Cache多数情况下是不考虑顺序的,小公鸡点名,点到谁是谁。

Buffer多数情况下是考虑顺序的,多用FIFO(先进先出)算法。

 

 

 

 

标签:Cache,Buffer,cache,buffer,内存,Linux,CPU
From: https://www.cnblogs.com/justtosee/p/17382347.html

相关文章

  • lazarus 2.2.6+FPC 3.2.2绿色整合版 for linux aarch64
    lazarus2.2.6+FPC3.2.2绿色整合版forlinuxaarch64https://www.cnblogs.com/qiufeng2014/p/17213806.html已集成常见控件及修正了我开发遇到的Bug,这个版本包含x86_64win64交叉编译环境,有兴趣的可以下载玩玩。这个整合版的特点:一、修复代码编辑不能输入中文的Bug二、修......
  • linux LVM和磁盘配额
    目录一、LVM原理二、LVM的命令三、创建lvm过程四、扩容五、磁盘配额         一、LVM原理lvm是逻辑卷管理,可以让用户动态管理磁盘,不用考虑物理磁盘的问题,可以快速扩充磁盘大小,可以不用一个磁盘一个磁盘挂载使用,不在要求是连续的空间,将多个物理磁盘连......
  • Linux常用命令-Shell应用技巧
    Bash应用技巧命令补齐:允许用户输入文件名起始的若干个字,按Tab键补齐文件名 命令历史:history命令可以显示以前执行过的命令列表方向键↑和方向键↓可以查找以前执行过的命令 命令别名例:aliascopy=cp 表示给cp命令取个copy的别名aliasxrm='rm-f' 查看别名信息:......
  • Linux常用命令-文件处理命令
    文件处理命令ls-->显示目录下的所有文件原意:list语法:ls 选项[-ald] [文件/目录]-a:显示所有文件,包括隐藏文件-l:详细信息的显示-d:查看目录属性例:ls-l/demo cd-->切换目录/进入某个目录原意:changedirectorypwd-->显示当前所在的工作目录原意:printwo......
  • Linux常用命令-权限管理命令
    chmod-->改变文件或者目录权限原意:changethepermissionsmodeloffileu:所有者g:用户组o:其他+:加权限-:减权限=:重新赋值新权限r=4w=2x=1 语法:chmod [{ugo}{+-=}{rwx}] [文件或者目录]chmod [mode=421] [文件或目录] 例:chmodu+x/demo/hj......
  • Linux常用命令-文件搜索命令
    which-->显示系统命令所在目录语法:which[命令名称]例:whichls find-->查找文件或目录语法:find[搜索路径][搜索关键字]-name文件名*匹配任意字符init*find/etc-nameinit*?匹配单个字符init???find/etc-nameinit???-size文件大小注意:一般......
  • Linux常用命令-帮助命令
    man-->获得帮助信息语法:man[命令或配置文件]例:manls  查看ls命令的帮助信息manservices查看配置文件services的帮助信息注意:若有跟命令名称相同的配置文件,那么,默认查看的是命令的帮助man5passwd 表示查看配置文件的帮助man1passwd 表示查看命令的帮助,1可......
  • Linux源码包编译安装
    1.获取安装包地址并下载下载源代码安装包文件,以APACHE服务为例,我们需要进入https://httpd.apache.org/找到httpd的软件包。如果想要在虚拟机中下载,则复制链接地址,然后使用wget链接地址下载2.解压安装包使用tarxvf压缩包名字将压缩包解压,解压后会在同级目录下出现一个以......
  • .Linux yum仓库配置
    1.准备网络安装源(服务器端)YUM软件仓库通常借助于HTTP或FTP协议进行发布,这样可以面向网络中所有的客户机提供软件源服务。为了便于客户机查询软件包、获取依赖关系等信息,在软件仓库中需要提供仓库数据(Repodata),其中收集了目录下的所有rpm包的头部信息2.配置软件仓库位置(客......
  • Linux下用五笔输入法
    windows下用习惯了五笔输入法,现在用Linux拼音就不是太习惯了,于是还是想用五笔,这不到网上一找,已经有人解决了次问题,方法如下:本人使用的是redhat9.0按如下方法也能使用,OK! 今天我在我的机上(rh7.3)上装上了五笔输入法,不敢独享供大家参考:智能陈桥1.0:http://download.linuxe......