lov*_*ing 6 command-line disk debugging io
我find / -name abc.html再次运行此命令后不久就跑了。这次它非常快,所以我知道find一定是在某处缓存了结果。
如何找出缓存的存储位置?
事实上,正如@zongfu 指出的那样,find它不会将其结果缓存在文件中,而是内核缓存find正在读取的目录,以便可以在不接触磁盘的情况下再次读取它们,这就是它更快的原因。如果您仍然想查看程序正在执行什么样的 IO,您可以使用strace. 该程序运行您指定的另一个程序并记录该程序进行的系统调用。没有任何参数,它会打印所有信息,这可能是很多信息,因此您希望将其限制为仅某些调用,例如,open()您可以查看程序将打开哪些文件。这看起来像:
strace -eopen someprogram
Run Code Online (Sandbox Code Playgroud)