LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 6186|回复: 13

怎么关闭Linux文件系统的cache?

[复制链接]
发表于 2005-5-11 21:56:33 | 显示全部楼层 |阅读模式
Linux系统会把当前所有可用的内存用作文件系统cache,以加快IO速度。请问如何把这个功能关闭了?急需!
发表于 2005-5-12 00:12:46 | 显示全部楼层
楼主大概是想“释放”内存,

那么先告诉你
用 free 命令查看
真正的内存使用量 = used - buffers - cached

另外,cache 只是一部分
更重要的是 buffer
Linux 可以从分利用内存做缓冲,加快系统速度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-12 01:54:42 | 显示全部楼层
不是想释放内存啊。我想通过cache来提高搜索引擎检索系统的性能,现在的实验结果是我的cache命中率很高,但性能却没有提高,说明文件系统的cache的确作用很大。现在我想让文件系统cache失效,看看对性能会有什么影响。附件是实验结果,分别是cache命中率和查询响应时间。查询的文档集合约250万,系统内存2GB。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-5-12 09:51:41 | 显示全部楼层
楼主是不是指/dev/shm?
把fstab文件中的这行注释掉,不就行了。
但是如果是initrd中指定的加载该设备的话,就没那么容易了。
先用mount看一下有没有/dev/shm文件吧。
回复 支持 反对

使用道具 举报

发表于 2005-5-12 11:19:16 | 显示全部楼层
Post by Tetris
系统内存2GB。

好牛!
回复 支持 反对

使用道具 举报

发表于 2005-5-12 12:19:03 | 显示全部楼层
/dev/shm 一般是 tmpfs , 跟 cahe 没有多少关系

楼主在 /proc 或 /sys 下看看好了
回复 支持 反对

使用道具 举报

发表于 2005-5-12 12:53:48 | 显示全部楼层
我搜索了一下,有些楼主可能会感兴趣的主题,其中一部分是与楼主有相同的目的的。我没有细看,但愿对楼主有帮助:
http://www.ussg.iu.edu/hypermail/linux/kernel/0308.2/1138.html
http://marc.theaimsgroup.com/?l= ... 42721228497&w=2
http://lists.suse.com/archive/suse-oracle/2005-Feb/0019.html
http://info-x.co.uk/docview.asp?id=117
如果时间和精力允许并且楼主愿意,还请公布解决方案
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-12 17:15:17 | 显示全部楼层
有一些解决办法了,晚上再做一次实验后把结果贴出来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 22:55:06 | 显示全部楼层
文件系统缓存是可以绕开的,只需在打开文件时用O_DIRECT标志:
#define _GNU_SOURCE
int fd = open("filename", O_RDONLY | O_DIRECT);
但是在读写的时候,缓冲区,传输长度,以及文件偏移三个量都必须是页面对齐(2.6内核只要求512字节对齐),所以使用起来比较麻烦。在这种方式下,文件系统直接把数据从磁盘传到用户空间,不通过内核空间交换。一般情况下这么做会使IO性能降低,文件系统没有了cache。但是,在一些特殊的应用下,性能会提高,例如你要自己组织cache。
图3.4是让我最疑惑的,为什么cache越大性能越低?现在搞清楚了,是由于内存碎片引起的。由为我使用了变长的cache块,频繁的申请和释放内存之后,物理内存产生大量碎片,因此当我再申请大块内存的时候,找不到连续的空间,某些页面被换到外存使得磁盘访问的开消增大。
我又在一台16GB内存的机器上做了一次实验,此时不用担心页面被换出,可以看到当cache增大时,性能有一定的提高,但也不明显,说明文件系统的cache很利害。
回到那台2GB的机器上,使用O_DIRECT,此时cache的作用就比较明显了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 22:58:55 | 显示全部楼层
感谢各位帮助!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表