【Linux】page cache 和 buffer cache的区别?

Linux的page cache用于缓存文件I/O的页面,优化文件读写;而buffer cache则缓存磁盘块,优化块I/O。在内核2.4之前,两者分开,2.4及以后版本统一到page cache中。现在,大多数数据由page cache代表,buffer cache仅作为块I/O的辅助,主要存储元数据和非文件支持的块数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自Robert Love的回答,看完之后,瞬间清晰:

Originally Answered: In Linux, what is the major difference between the buffer cache and the page cache? Why were they separate entities in older kernels? Why were they merged later on?

The page cache caches pages of files to optimize file I/O. The buffer cache caches disk blocks to optimize block I/O.

Prior to Linux kernel version 2.4, the two caches were distinct: Files were in the page cache, disk blocks were in the buffer cache. Given that most files are represented by a filesystem on a disk, data was represented twice, once in each of the caches. Many Unix systems follow a similar pattern.

This is simple to implement, but with an obvious inelegance and inefficiency. Starting with Linux kernel version 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据技术部落

觉得有收获就支持一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值