buffer与cache区别

1,Buffer是缓冲区

2,Cache 是高速缓存,分library cache; data dictionary cache; database buffer

cache

Buffer cache 缓冲区高速缓存,用于缓存从硬盘上读取的数据,减少磁盘I/O.

3,.buffer有共享SQL区和PL/SQL区 , 数据库缓冲区高速缓存有独立的subcache
        4,pool   是共享池  用于存储最近执行的语句等

5,cache:
A cache is a smaller, higher-speed component that is used to speed up the

access to commonly used  data stored in a lower-speed, higher-capacity

component.             

database buffer cache:
The database buffer cache is the portion of the SGA that holds copies of data

blocks
read from data files. All user processes concurrently (同时地,兼任地)connected

to the instance share access to the database buffer cache.

buffer cache就是以block为单位读入写出的。


缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不

要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读

取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。

缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和

硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写如

磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:我这里有一个ext2的U盘,我

往里面cp一个3M的MP3,但U盘的灯没有跳动,过了一会儿(或者手动输入sync)U盘的灯

就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟。

修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策

略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。
--
两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中

读出来的。
buffer是由各种进程分配的,被用在如输入队列等方面,一个简单的例子如某个进程要求

有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存


cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被

做成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会非常小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值