Linux 关于';dentunusd';使用命令时';sar';?

Linux 关于';dentunusd';使用命令时';sar';?,linux,caching,buffer,sar,Linux,Caching,Buffer,Sar,命令sar中有一个名为dentunsd的项。 它的意思是:目录缓存中未使用的缓存项的数量 我想知道: 什么是缓存条目 什么是目录缓存 他们在哪里 有谁能提供一些资料吗?来自 9.2.9目录缓存 为了加快对常用目录的访问,VFS维护目录项的缓存 当实际文件系统查找目录时,它们的详细信息会添加到目录缓存中。下次查找同一目录时,例如列出该目录或打开其中的文件时,将在目录缓存中找到该目录。只缓存较短的目录项(最多15个字符),但这是合理的,因为较短的目录名是最常用的目录名。例如,/usr/X11R6

命令sar中有一个名为dentunsd的项。 它的意思是:目录缓存中未使用的缓存项的数量

我想知道:

  • 什么是缓存条目
  • 什么是目录缓存
  • 他们在哪里
有谁能提供一些资料吗?

来自

9.2.9目录缓存

为了加快对常用目录的访问,VFS维护目录项的缓存

当实际文件系统查找目录时,它们的详细信息会添加到目录缓存中。下次查找同一目录时,例如列出该目录或打开其中的文件时,将在目录缓存中找到该目录。只缓存较短的目录项(最多15个字符),但这是合理的,因为较短的目录名是最常用的目录名。例如,/usr/X11R6/bin通常在X服务器运行时访问

目录缓存由一个哈希表组成,其中的每个条目都指向具有相同哈希值的目录缓存条目列表。哈希函数使用保存文件系统的设备的设备号和目录名来计算哈希表中的偏移量或索引。它允许快速找到缓存的目录项。当在缓存中查找条目花费太长时间,甚至找不到条目时,使用缓存是没有用的

为了使缓存保持有效和最新,VFS保留最近使用最少(LRU)目录缓存项的列表。当第一次将目录项放入缓存时(即第一次查找目录项时),它将添加到第一级LRU列表的末尾。在完全缓存中,这将替换LRU列表前面的现有条目。当目录条目再次被访问时,它将被提升到第二个LRU缓存列表的后面。同样,这可能会替换二级LRU缓存列表前面的缓存二级目录项。替换一级和二级LRU列表前面的条目是可以的。条目位于列表前面的唯一原因是它们最近未被访问。如果他们有,他们将更接近名单的后面。二级LRU缓存列表中的条目比一级LRU缓存列表中的条目更安全。这是因为这些条目不仅已被查找,而且已被反复引用