【发布时间】:2013-08-15 17:11:08
【问题描述】:
我不知道我是否在问这个问题,这是问题的一部分。我们在我们的 linux 机器上使用 NFS。我们已经挂载到文件服务器上的目录。我们使用 1 小时属性超时和 1 小时数据超时。我们必须要编写文件的模型。 1)我们添加到文件的末尾。添加到文件末尾时,我们保持相同的文件名。 2) 更改先前写入的数据。更改文件时,我们更改其文件名。这个想法是这将与缓存一起工作,因为写入文件的数据永远不会改变。我还需要一件事来完成这项工作。使用当前设置,当我使用 mmap 访问文件的新添加部分时,当文件的该部分在属性被缓存时不存在时,我会收到“总线错误”。这一切都是有道理的,也是意料之中的。我想做的是强制 NFS 刷新文件属性,这样它就知道文件现在更大了。在一个完美的世界里,只有当我遇到总线错误时我才会这样做。那么...有没有可以从 c 或 shell 执行的命令?
编辑 我被否决了,所以我想我的问题很愚蠢。也许更多信息会有所帮助。当我使用具有长属性和数据刷新的挂载时,我获得了所需的微秒级性能。当我使用具有短属性刷新的坐骑时,它会慢 1000 倍。只有当我得到总线错误时,我才需要刷新属性。这是 linux,因此很有可能存在一种强制刷新的方法。我们的数据每 20 分钟仅更改一次,因此我想探索一下按需刷新场景。
【问题讨论】:
-
-1 因为我没有谷歌什么?我已经搜索了高和低!嘘。
-
查看stackoverflow.com/questions/3204835/…。 stackoverflow.com/questions/13946852/… 中建议的 drop_caches 方法可能适用于您的情况,但您需要先同步写入!