首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux Page cache和buffer cache正解

Page cache和buffer cache一直以来是两个比较容易混淆的概念,在网上也有很多人在争辩和猜想这两个cache到底有什么区别,讨论到最后也一直没有一个统一和正确的结论,在我工作的这一段时间...,page cache和buffer cache的概念曾经困扰过我,但是仔细分析一下,这两个概念实际上非常的清晰。...当page cache的数据需要刷新时,page cache中的数据交给buffer cache,但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。...简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。...从上面的分析可以看出,2.6内核中的buffer cache和page cache在处理上是保持一致的,但是存在概念上的差别,page cache针对文件的cache,buffer是针对磁盘块数据的cache

2.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux系统中的Page cache和Buffer cache

Page cachelinux读写文件时,它用于缓存文件的逻辑内容,从而加快对磁盘上映像和数据的访问。...具体说是加速对文件内容的访问,buffer cache缓存文件的具体内容——物理磁盘上的磁盘块,这是加速对磁盘的访问。...Buffer cache是由物理内存分配,Linux系统为提高内存使用率,会将空闲内存全分给buffer cache ,当其他程序需要更多内存时,系统会减少cache大小。...假设我们通过文件系统操作文件,那么文件将被缓存到Page Cache。 若需要刷新文件,Page Cache将交给Buffer Cache去完成,因为Buffer Cache就是缓存磁盘块的。...当page cache的数据需要刷新时,page cache中的数据交给buffer cache,但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。

1.9K20

Linux系统中的Page cache和Buffer cache

Page cachelinux读写文件时,它用于缓存文件的逻辑内容,从而加快对磁盘上映像和数据的访问。...具体说是加速对文件内容的访问,buffer cache缓存文件的具体内容——物理磁盘上的磁盘块,这是加速对磁盘的访问。...Buffer cache是由物理内存分配,Linux系统为提高内存使用率,会将空闲内存全分给buffer cache ,当其他程序需要更多内存时,系统会减少cache大小。...假设我们通过文件系统操作文件,那么文件将被缓存到Page Cache。 若需要刷新文件,Page Cache将交给Buffer Cache去完成,因为Buffer Cache就是缓存磁盘块的。...当page cache的数据需要刷新时,page cache中的数据交给buffer cache,但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。

2.9K40

Linux-手动释放linux内存cache

Cache 磁盘缓存的大小 -buffers/cache (已用)的内存数:used - buffers - cached +buffers/cache(可用)的内存数:free + buffers...+ cached 可用的memory=free memory+buffers+cached 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching...drop_caches 3 将/proc/sys/vm/drop_caches值设为3 ---- /proc/sys/vm/drop_caches用法 /proc/sys/vm/drop_caches (since Linux...但实际上,我们都知道这是因为Linux对内存的管理与Windows不同,free小并不是说内存不够用了,应该看的是free的第二行最后一个值:-/+ buffers/cache: 58 191,这才是系统可用的内存大小...我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少。如果常常swap用很多,可能你就要考虑加物理内存了,这也是linux看内存是否够用的标准.

5.6K20

【图解Linux内核】Page Cache

最好具备一些Linux编程的基础,比如,如何打开一个文件;如何读写一个文件;如何关闭一个文件等等。 什么是Page Cache? Page Cache到底是属于内核还是属于用户?...怎么观察Page CacheLinux上直接查看Page Cache的方式: /proc/meminfo free /proc/vmstat 命令 内容其实是一致的。...掌握了Page Cache具体由哪些部分构成之后,在它引发一些问题时,你就能够知道需要去观察什么。...首先,我们来生成一个1G大小的新文件,然后把Page Cache清空,确保文件内容不在内存中,以此来比较第一次读文件和第二次读文件耗时的差异。具体的流程如下。...,磁盘I/O是比较耗时的,而第二次读取的时候由于文件内容已经在第一次读取时被读到内存了,所以是直接从内存读取的数据,内存相比磁盘速度是快很多的。

5.5K10

linux buffer cache的回收

在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态: 1.png 这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。...根据目前网络上技术文档的内容,我相信绝大多数了解一点Linux的人应该处在第二种层次。大家普遍认为,buffers和cached所占用的内存空间是可以在内存压力较大的时候被释放当做空闲空间用的。...buffer和cache是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。...这里的cacheLinux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。...一般情况下两个缓存系统是一起配合使用的,比如当我们对一个文件进行写操作的时候,page cache内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了

5.1K40

Linux内存(手动释放cache)

2、什么是cache 为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache...Free中的buffer和cache:(它们都是占用内存): buffer : 作为buffer cache的内存,是块设备的读写缓冲区 cache: 作为page cache的内存, 文件系统的cache...如果 cache 的值很大,说明cache住的文件数很多。...drop_caches To free pagecache, dentries and inodes:  echo 3 > /proc/sys/vm/drop_caches 注意:在清空缓存前我们需要在linux...系统中执行一下sync命令,将缓存中的未被写入磁盘的内容写到磁盘上 具体的操作如下 # 先查看一下释放cache信令值, 此时应该是0 $ cat /proc/sys/vm/drop_caches 0

10K80

【图解Linux内核】Page Cache

最好具备一些Linux编程的基础,比如,如何打开一个文件;如何读写一个文件;如何关闭一个文件等等。 什么是Page Cache? Page Cache到底是属于内核还是属于用户?...怎么观察Page CacheLinux上直接查看Page Cache的方式: /proc/meminfo free /proc/vmstat 命令 内容其实是一致的。...掌握了Page Cache具体由哪些部分构成之后,在它引发一些问题时,你就能够知道需要去观察什么。...首先,我们来生成一个1G大小的新文件,然后把Page Cache清空,确保文件内容不在内存中,以此来比较第一次读文件和第二次读文件耗时的差异。具体的流程如下。...,磁盘I/O是比较耗时的,而第二次读取的时候由于文件内容已经在第一次读取时被读到内存了,所以是直接从内存读取的数据,内存相比磁盘速度是快很多的。

5.1K20

linux cache介绍及控制

参考文档 https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/ 有关Cache...Linux内核将写磁盘的操作分解成了,先写缓存,每隔一段时间再异步地将缓存写入磁盘。这提升了IO读写的速度,但存在一定风险。数据没有及时写入磁盘,所以存在数据丢失的风险。...同样,也存在cache被写爆的情况。还可能出现一次性往磁盘写入过多数据,以致使系统卡顿。之所以卡顿,是因为系统认为,缓存太大用异步的方式来不及把它们都写进磁盘,于是切换到同步的方式写入。...情景1:减少Cache 你可以针对要做的事情,来制定一个合适的值。...情景2:增加Cache 在一些场景中增加Cache是有好处的。例如,数据不重要丢了也没关系,而且有程序重复地读写一个文件。允许更多的cache,你可以更多地在内存上进行读写,提高速度。

2.2K21

Linux内核Page Cache和Buffer Cache关系及演化历史

在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘。...两类缓存各自的作用 Page Cache Page Cache以Page为单位,缓存文件内容。缓存在Page Cache中的文件数据,能够更快的被用户读取。...,其内部的 b_data 指向的是原始的内存地址: 其中, b_data 指向具体的buffer cache内容,而 b_dev 和 b_blocknr 则代表了这块缓存对应的device以及device...的实现进行了融合,融合后的Buffer Cache不再以独立的形式存在,Buffer Cache内容,直接存在于Page Cache中,同时,保留了对Buffer Cache的描述符单元:buffer_head...Linux内核的文件Cache管理机制介绍 [9]. Linux内核文件Cache机制 [10].

2K30

Linux内核Page Cache和Buffer Cache关系及演化历史

[注: 转载自今日头条号"闪念基因"] 在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘...两类缓存各自的作用 Page Cache Page Cache以Page为单位,缓存文件内容。缓存在Page Cache中的文件数据,能够更快的被用户读取。...其中,b_data指向具体的buffer cache内容,而b_dev和b_blocknr则代表了这块缓存对应的device以及device上的block number信息。...的实现进行了融合,融合后的Buffer Cache不再以独立的形式存在,Buffer Cache内容,直接存在于Page Cache中,同时,保留了对Buffer Cache的描述符单元:buffer_head...Linux内核的文件Cache管理机制介绍 [9]. Linux内核文件Cache机制 [10].

3.6K71

短视频审核主要审核什么内容哪些内容是违规内容

现在人的手机里常常会下载很多的短视频软件,短视频软件内容丰富,品种多样,而且可以打发时间,娱乐身心,所以成为了许多人的最爱。...为什么所有上传的内容都要经过短视频审核呢? 短视频审核主要审核什么内容?...哪些内容是违规内容? 在短视频审核的过程当中都有哪些内容会不经过审核呢?哪些内容是违规的呢?...根据大部分短视频平台的要求,所有的低俗暴力色情血腥的内容以及含有敏感词汇和敏感信息的内容都属于违规内容,这些内容是不可以上传的,如果上传的话,不但网站要承担连带责任,还有可能给上传的用户带来麻烦。...以上就是短视频审核主要审核什么内容的相关知识。了解了短视频审核的要求,大家在视频网站上传视频的时候,应当注意遵守网站平台的收录规则。

3.4K10
领券