`
mywang.bo
  • 浏览: 468617 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Buffer与 Cache区别

阅读更多
参考: http://baike.baidu.com/view/44274.html Buffer和Cache的区别 缓存(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以方便下次被访问,这样可提高系统性能。 Buffer Cachebuffer cache,又称bcache,其中文名称为缓冲器高速缓冲存储器,简称缓冲器高缓。另外,buffer cache按照其工作原理,又被称为块高缓。 参考: http://baike.baidu.com/view/1113956.htm [root@localhost libexec]# cat /proc/meminfo MemTotal:       255596 kB MemFree:        105252 kB Buffers:         62652 kB Cached:          51580 kB SwapCached:          0 kB Active:          [...]
分享到:
评论
1 楼 shangtang004 2010-07-07  
可以这样理解吧,buffer时间短点,cache时间长点。
一个是缓冲器一个是缓存器

相关推荐

    Oracle Buffer和Cache的区别

    Buffer Cache与Cache的区别在于,Buffer Cache特指Oracle数据库中的数据缓冲区,主要优化的是磁盘I/O,而Cache则涵盖了从硬件层面到操作系统层面的各种缓存机制,包括CPU缓存、文件系统的Page Cache等,其目标是提升...

    linux内存中buffer与cache的区别

    ### Linux内存中Buffer与Cache的区别 #### 概述 Linux操作系统在管理内存资源时采用了高效且灵活的方法。当我们使用`free`命令查看系统的内存使用情况时,可能会注意到一个现象:即使系统似乎没有运行太多的应用...

    Linux内存buffer和cache的区别

    ### Linux内存管理中的Buffer与Cache区别详解 #### 一、引言 在现代操作系统中,内存管理是一项极其重要的任务,特别是在Linux这样的多用户多任务环境中。Linux系统在内存管理方面采取了许多高效的策略来提高系统...

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

    Linux 操作系统中内存 buffer 和 cache 的区别 在 Linux 操作系统中,内存 buffer 和 cache 是两个重要的概念,它们都是占用内存的,但是它们的作用和特点却不同。本文将详细介绍内存 buffer 和 cache 的概念、区别...

    oracle_buffer_cache深入分析

    ### Oracle Buffer Cache 深入分析 #### 一、Buffer Cache 概念及重要性 Oracle 数据库的核心功能之一就是高效地管理和访问数据。而为了提高数据访问速度,Oracle 引入了一个重要的内存组件——Buffer Cache(数据...

    oracle性能调优之buffer cache

    Oracle 性能调优之 Buffer Cache Buffer Cache 是 Oracle 中的一种缓存机制,负责将磁盘上的数据 block 读取到内存中,以提高数据库的访问速度。在本文中,我们将详细介绍 Buffer Cache 的工作原理、状态、管理和...

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

    #### 四、buffer与cache的详细区别 1. **Cache**: - Cache是一种高速缓存,位于CPU与主内存之间,用于存储CPU最近使用过的数据或频繁访问的数据。 - Cache的主要目的是为了减少CPU等待数据的时间,提高系统性能。 ...

    深入Buffer Cache 原理

    ### 深入Buffer Cache 原理 #### Buffer Cache 概述 Buffer Cache作为System Global Area (SGA) 的一部分,在Oracle数据库中扮演着极其重要的角色。它的主要任务是缓存数据块以减少磁盘I/O操作,提高数据访问速度...

    buffer cache深度分析.zip

    8. **缓存与JVM内存管理**:Buffer Cache与Java的堆内存和非堆内存(如Direct Memory)相互关联,需要综合考虑JVM的内存配置以避免内存溢出。 综上所述,Buffer Cache深度分析涵盖了数据库系统设计、Java内存管理、...

    Linux内存中Swap和Buffer Cache机制

    Linux内存管理是操作系统的核心组成部分,尤其在服务器环境中,理解Swap和Buffer Cache机制至关重要。Swap空间是Linux实现虚拟内存的关键,它允许系统将物理内存中暂时不用的数据存储到硬盘上,以此扩展内存容量。当...

    Oracle 中 Buffer Cache 的研究.pdf

    Oracle的数据以数据块(Block)为单位存储,Buffer Cache与数据块紧密对应,用于管理数据块,以减少磁盘I/O,提升数据访问效率。 Buffer Cache由许多大小相同的数据块缓存构成,这些缓存块的大小与数据块相等。根据...

    Oracle buffer cache

    Oracle Buffer Cache 深度解析 Oracle Buffer Cache 是 Oracle 数据库中的一种内存缓存机制,用于提高数据库的性能。Buffer Cache 通过将频繁访问的数据块缓存在内存中,减少了磁盘 I/O 操作,从而提高了数据库的...

    buffer cache深度分析.docx

    buffer cache深度分析

    内存中的Buffer和Cache有什么区别?

    了解Buffer和Cache的区别有助于优化系统的内存使用和性能。在某些情况下,如系统内存紧张时,可以通过`echo 3 > /proc/sys/vm/drop_caches`命令清空Buffer和Cache,释放内存供其他进程使用。然而,这应谨慎操作,...

    解决 linux 下 buffcache 占用过高的问题.docx

    Buffer(缓冲区)主要存储的是磁盘I/O操作的数据,目的是减少磁盘和内存之间的数据交换次数,提高读写速度。Cache(缓存)则是用于存储经常访问的数据,加快程序访问速度,比如文件系统和数据库的缓存。这两种内存...

    s3c2410_CACHES_WRITE_BUFFER.rar_S3C2410_WRI_arm cache

    《S3C2410 Cache机制详解及Write Buffer运用》 在嵌入式系统设计中,S3C2410是一款广泛应用的基于ARM920T内核的微处理器,由三星公司开发。其高效能和低功耗特性使其在各种嵌入式设备中占据一席之地。本文将深入...

    Linux系统内核文件Cache管理机制

    具体文件系统,如ext2、ext3、jfs等,会与Buffer Cache交互,处理磁盘与Buffer Cache的数据交换。 Page Cache和Buffer Cache之间的关系是,每个Page Cache条目可能包含多个Buffer Cache条目。VFS(虚拟文件系统)...

Global site tag (gtag.js) - Google Analytics