为什么连续查找命令更快?

为什么连续查找命令更快?

我注意到,find <dir> -depth第一次在目录上使用时,它会消耗相当多的时间,但下次即使在搜索不同的模式时,它看起来也很快。

这是为什么?这种行为是否可以进一步用于实现更好的性能?

答案1

当您第一次键入命令时find,操作系统必须从磁盘获取子目录信息。第二次输入相同的命令时,您会从缓存中获取数据,速度更快。

如果您使用不同的模式过滤输出,find即使只有某些条目与模式匹配,也会完全读取每个目录。然后缓存将充满其他模式所需的信息。

但是,如果您使用系统一段时间,缓存内存可能用于其他目的……那么相同的find命令可能必须再次从磁盘取回数据,并且可能会像第一次一样慢。如果您想限制重用高速缓存的风险,则必须添加内存。

相关内容