日期:2014-05-16  浏览次数:20527 次

为什么linux下第一次查找慢些?
像ls -lR,find等,第一次查找相比在查一次的速度慢很多:两次查找是在相同的窗口中。

这是为什么哪?

谢谢
------最佳解决方案--------------------
linux的内存管理有一部分是用来缓存硬盘数据的……
像LZ说的这些应该是文件的inode和文件属性等文件索引的信息……
这部分信息存在buffer cache中,等第二次再做相通的访问时,就不需要再读磁盘了,直接从内存中获取信息就好了,所以速度会明显快很多……
echo 2>/proc/sys/vm/drop_caches 可以清除这些存储inode的cache,清除以后再ls或者find,速度又会变慢……
------其他解决方案--------------------
没有注意过呀,是不是第一次查找后保存在内存中了。所以第二次快了。哈哈
------其他解决方案--------------------
引用:
linux的内存管理有一部分是用来缓存硬盘数据的……
像LZ说的这些应该是文件的inode和文件属性等文件索引的信息……
这部分信息存在buffer cache中,等第二次再做相通的访问时,就不需要再读磁盘了,直接从内存中获取信息就好了,所以速度会明显快很多……
echo 2>/proc/sys/vm/drop_caches 可以清除这些存储inode的cache,清除以后再ls或者fin……

应该就是这个原因