关于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,只是可使用量的问题,而不是已使用量? |
|