为什么第二次cp命令更快

时间:2013-08-05 10:45:23

标签: linux shell

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

为什么第二次运行时间有所改善?

3 个答案:

答案 0 :(得分:10)

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

进一步阅读:

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:1)

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