Linux 的磁盘缓存机制有什么意义?

Sen*_*Sen 5 linux filesystems

我想知道Linux的磁盘缓存机制的确切含义和意义。在我读过的一篇文章中,页面缓存和 dentry 缓存是其中的两种形式。

有人可以向我解释这些概念吗?

Tok*_*Tok 10

页面缓存,有时也称为磁盘缓存,是一种透明的 RAM 缓冲区,用于访问和来自磁盘上的文件。通常,任何未分配给正在运行的应用程序的内存都用于页面缓存空间。/proc/meminfo 包含有关页面缓存等信息。执行cat /proc/meminfo | grep -iE "^(cached|dirty)"将显示页面缓存的大小和标记为“脏”的数据量,即已标记为写入磁盘的文件数据。

Dentry 缓存用于通过存储表示目录级别的条目来提高对文件系统的访问性能,这些条目包括路径的表示。dentry 缓存中还包含一个表示对象的 inode。Dentry 缓存位于 inode 缓存的对面或旁边,具体取决于角度。inode 缓存由两个列表组成,分别包含已使用和未使用的 inode,以及一个正在使用的 inode 的哈希表。dentry 缓存中的每个条目都包含 inode 缓存中的一个条目。