为什么第二次cp命令更快



当我第一次执行cp folder1 folder2 -rf时,大约需要10分钟。但当我执行第二个命令cp folder1 folder3 -rf时,大约需要1分钟。folder1包含大约100000个文件。

为什么第二次出现运行时改进?

这是因为页面缓存。运行sync ; echo 3 > /proc/sys/vm/drop_caches使其再次变慢。

进一步阅读:

  • http://jim.studt.net/depository/index.php/flushing-caches-for-benchmarking-in-linux
  • https://superuser.com/a/319287/236874

第一次从硬盘中读取文件。

第二次从内存中读取文件。

与大多数操作系统一样,Linux将访问的文件/块缓存在内存中。

这是因为文件现在存储在内存缓存中。第一次执行此命令时,它必须从磁盘读取文件,这要慢得多。如果您想运行任何形式的使用磁盘访问的基准测试,请记住这一点也很重要,例如,在执行实际基准测试之前添加一个"cat MYFILE>/dev/null",以获得一致的结果。

相关内容

  • 没有找到相关文章

最新更新