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

关于linux的cache问题
关于linux的cache问题

今天,被人问到关于linux文件系统的cache问题;
##重要说明由于本人刚开始学习,所以基本上不知道什么意思,就知道可能是用于缓存的东东。(如果想知道非常深入的结果,请搜索understanding the linux kernel这本书,我上传到51cto了,呵呵)

调查了之后,对于相关知识整理如下:
包含:
·page cache:页面高速缓存,用于文件系统交付给应用程序使用时,只是先叫内存提取一部分文件数据,分页进行缓存,然后内存通过mmap,提供给引用程序使用。(与应用程序,内存管理,VFS三部分有关)
·block cache:用于page cache与磁盘结构之间的交互,用于对磁盘消息的读取。(与具体文件系统(如:ext2/3,NTFS),内存管理,磁盘存储三部分有关)

关于cache的数据查找:
如:
linux中:cat /proc/meminfo
命令工具:free;top。

对于page cache的关闭:
如:
echo 1 > /proc/sys/vm/cache_stop

对于磁盘的文件cache设置:
使用haparm工具,使用-A[01]选项进行设置:
如:
sync
haparm -A0 /dev/sda

问题点:
查看free等,cache的占用率,好像cache占用数减少了,但是未完全减少;
对page cache的取消功能,是否起作用,需要再确认;

下一步:
对于以上问题点,后续使用iometer等测试工具试验一下。
也许,我们看到的cache,只是可使用量的问题,而不是已使用量?

#该文章未完,待续。。

2012-2-9 ych4865 进行了第一次编写