linux更新软件载入缓存后停止_刷新文件在Linux 放弃读缓存磁盘访问时间

刷新文件在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教程

http://www.linuxprobe.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值