Advertisement

Using five-level PageCache in the Linux file system

阅读量:

一、PageCache介绍:

Page cache是一种将磁盘上的数据存储于内存中的机制,其主要目的是降低磁盘I/O操作的频率,进而提升整体系统性能。与此同时,

在page cache中所进行的数据修改必须能够及时同步至磁盘,这一过程被称作page回写(page writeback)。

每个inode对应一个page cache对象,并且每个page cache对象由多个物理页面组成。

1、PageCache的作用:

  • 缓存 I/O 利用操作系统内核中的缓冲区,能够在一定程度上实现应用程序空间与实际物理设备之间的隔离。
  • 缓存 I/O 可有效减少对磁盘的读取次数,从而显著提升系统运行效率。

在Linux系统中,除非显式使用O_DIRECT标志进行文件访问,否则所有文件访问操作均会经过pagecache。如下所示,

读取文件存在两种方式:一种是带有O_DIRECT标志的方式,该方式直接从磁盘读取数据;另一种则是先执行预读操作,

检查PageCache中是否存在所需的数据(通过radix基树进行查找),若存在则直接返回相应数据,这种读取方式速度较快;

若不存在,则将所需数据从磁盘加载至内存中。通常情况下,O_DIRECT标志适用于对大文件或访问频率较低的文件进行操作。

![](https://ad.itadn.com/c/weblog/

全部评论 (0)

还没有任何评论哟~