我想知道Linux的磁盘缓存机制的确切含义和意义。在我读过的一篇文章中,页面缓存和目录项缓存是其中的两种形式。
有人可以向我解释这些概念吗?
答案1
页缓存,有时也称为磁盘缓存,是一个透明的 RAM 缓冲区,用于访问和访问磁盘文件。一般来说,任何未分配给正在运行的应用程序的内存都用作页面缓存空间。 /proc/meminfo 包含有关页面缓存等信息。执行时cat /proc/meminfo | grep -iE "^(cached|dirty)"
将显示页面缓存的大小以及标记为“脏”的数据量,即已标记为写入磁盘的文件数据。
Dentry 高速缓存通过存储表示包含路径表示的目录级别的条目来提高对文件系统的访问性能。 dentry 缓存中还包含表示对象的 inode。 Dentry 缓存位于 inode 缓存的对面,或者根据角度位于侧面。 inode 缓存由两个列表组成,分别包含已使用和未使用的 inode,以及正在使用的 inode 的哈希表。 dentry 缓存中的每个条目都包含 inode 缓存中的一个条目。