kaiya Asked: 2022-01-29 03:53:20 +0800 CST2022-01-29 03:53:20 +0800 CST 2022-01-29 03:53:20 +0800 CST 为什么连续查找命令更快?[复制] 772 我注意到find <dir> -depth第一次在目录上使用时,它消耗了很多时间,但下一次即使搜索不同的模式,它似乎也很快。 为什么会这样,甚至可以进一步使用这种行为来获得更好的性能吗? find performance 1 个回答 Voted Best Answer Frédéric Loyer 2022-01-29T04:05:30+08:002022-01-29T04:05:30+08:00 当您第一次键入find命令时,操作系统必须从磁盘中获取子目录信息。第二次键入相同的命令时,您从缓存中获取数据,速度更快。 如果您使用不同的模式过滤输出,find即使只有一些条目与模式匹配,也会完全读取每个目录。然后缓存将充满其他模式所需的信息。 但是,如果您使用系统一段时间,缓存内存可以用于其他目的……那么相同的find命令可能必须再次从磁盘取回数据,并且可能与第一次一样慢。如果要限制重复使用高速缓存内存的风险,则必须添加内存。
当您第一次键入
find
命令时,操作系统必须从磁盘中获取子目录信息。第二次键入相同的命令时,您从缓存中获取数据,速度更快。如果您使用不同的模式过滤输出,
find
即使只有一些条目与模式匹配,也会完全读取每个目录。然后缓存将充满其他模式所需的信息。但是,如果您使用系统一段时间,缓存内存可以用于其他目的……那么相同的
find
命令可能必须再次从磁盘取回数据,并且可能与第一次一样慢。如果要限制重复使用高速缓存内存的风险,则必须添加内存。