刷新文件在Linux 放弃读缓存磁盘访问时间

我提出的访问时间来分析一些构建过程,但它不是我想要的方式工作:访问时间是我第一次更新了读取文件,然后它就会在停留很长一段时间相同,或直至在下一次重新启动。 例如:

$ ll -u some_file -rw-r–r– 1 root root 1.3M 2010-04-07 10:03 some_file $ grep abcdef some_file $ ll -u some_file -rw-r–r– 1 root root 1.3M 2010-04-07 11:24 some_file # The access time is updated # waiting a few minutes… $ grep abcdef some_file $ ll -u some_file -rw-r–r– 1 root root 1.3M 2010-04-07 11:24 some_file # The access time has not been updated 🙁 我认为该文件是由Linux在自由缓冲存储器,仅此副本被访问速度的原因,随后的时间。 一个解决办法是抛弃在内存中的缓冲区。 一些论坛搜索后,我发现:

sync echo 1 > /proc/sys/vm/drop_caches echo 2 > /proc/sys/vm/drop_caches echo 3 > /proc/sys/vm/drop_caches 但它不工作,它似乎只写缓冲区保持同步,,而不是读的。 也许它是由于一些在我的发行版(Fedora 9中)定制的内核配置?

或者我在这里失去了一些东西? 有没有办法实现这一访问时间刷新?

还请注意,我不想在我的整个模拟一些文件树写道。 由于我使用的一些Makefile的编译系统,这将导致整个项目将在重新建造。

我使用的是标准的ext3文件系统,无需特殊的选项。

/dev/sda1 on / type ext3 (rw) 我试图重新安装它strictatime (未确认)和atime (没有什么区别,我想这是默认值)。

标签:Linux文件系统缓存时间 答1: 好吧,这种行为实际上是由于具体的Fedora 9内核停用标准的访问时间更新优化的理由(写为每个磁盘读是非常耗时)。

选项DEFAULT_RELATIME (在我的情况内核2.6.27.25)成立,这禁止访问时间,如果最后刷新刷新前发生不到一天。

内核编译选项文档给出了内核引导选项norelatime它禁用此功能… 但它没有工作!

要修改成功这个问题,我真的做到:

echo 60 > /proc/sys/fs/relatime_interval 这是减少到1分钟的间隔。

感谢您的帮助使我的这个解决方案。

答2: 您是否使用noatime选项或relatime安装选项? 你可以看到,如果你与mount的命令:

[kbrandt@kbrandt-opadmin: ~] mount /dev/sda1 on / type ext3 (rw,relatime,errors=remount-ro) 如果是这样,重新挂载文件系统的选项,如果没有那些(或可能的情况这将是更好的编辑选择出/etc/fstab ,只是重新启动)。 这些选项是文件系统无关 。 选项说明这些都是在“文件系统独立山选项”,在man mount ,但基本上他们阻止或限制性能被更新atime的增加。

我不知道这是您的问题的解决方案,但由于您在访问时间而定,我建议你这样做反正。

——————————————————————————–

顺便说一句,你可能要问您的具体生成过程进行分析,以确定的atime这里或stackoverflow是正确的道路可走。

——————————————————————————–

更新: 是否stat -c “%x” filename表现出同样的事情吗? (忽略我的最后一次更新,没有注意到-u选项…),但也许有些事情,你去与ll的别名,所以我会检查与统计,以确保。

另外,你说/没有noatime选项,但你做对根系这些测试,而不是另一个文件系统,就像一个NFS装载的东西?

是否touch -a -t 199812130530设法改变访问时间?

LapTop006:注意relatime最近成为默认,所以你可能需要强制它使用“strictatime挂载选项。 `芒邻重新安装,strictatime挂载点`可以让你改变这个线上 :是的,“统计”提供了相同的结果,我访问我的根文件系统。 但是你检查你的系统? 是否的atime总是在每个文件刷新读取? 我想知道如果故障是由于我的Linux的味道,而不是一个标准的Linux行为。 凯尔勃兰特:在我的Ubuntu的桌面上,是中,grep更新访问时间,如果没有relatime noatime选项或重新安装。 :THX的,这个信息给了我一个暗示… 现在看来,这是由于内核编译选项,我需要重新启动才能确认,我将提供更多的细节。

与那些新人和旧人们共同经历吧!

刷新文件在Linux 放弃读缓存磁盘访问时间

相关文章:

你感兴趣的文章:

标签云: