page cache和buffer cache

因为要优化I/O性能,所以要理解一下这两个概念,这两个cache着实让我迷糊了好久,通过查资料大概明白了两者的区别,试着说下。

page cache:文件系统层级的缓存,从磁盘里读取的内容是存储到这里,这样程序读取磁盘内容就会非常快,比如使用grep和find等命令查找内容和文件时,第一次会慢很多,再次执行就快好多倍,几乎是瞬间。如果page cache的数据被修改过后,也即脏数据,等到写入磁盘时机到来时,会转移到buffer cache 而不是直接写入到磁盘。

buffer cache:磁盘等块设备的缓冲,内存的这一部分是要写入到磁盘里的。

 

 

free命令和top,vmstat命令都可以查看这两部分的大小,使用方法网上例子很多,我就不写了,如果有不理解的,可以回复我,大家多交流。

以上。

 

posted @ 2014-06-09 15:27  Yrpen  阅读(3274)  评论(2编辑  收藏  举报