我有两台机器通过NFS交换数据:两个大约20字节的不同文件。客户端写入它的文件,服务器读取和删除它,然后它写入不同的文件,服务器读取和删除。诸若此类。这两个文件始终具有相同的名称。
一切都很好。他们运行Linux2.4。现在,我添加了另一个运行Linux2.6的客户端。它的工作方式是一样的,它只使用不同名称的文件。
问题是,新客户端在文件写入后大约40秒会从服务器看到该文件。我可以等4-5秒甚至10秒,但不能等40秒。
我曾尝试使用-o vers=2或-o vers=3挂载远程分区,但都没有效果。然后我尝试了echo 3 > /proc/sys/vm/drop_caches,(见NFS cache-cleaning command?)没有效果。
我能做些什么来缩短时间间隔?
发布于 2013-07-18 15:55:18
您可以尝试结合listen-notify方法,使用iNotify监视文件系统事件。
inotify API提供了一种监视文件系统事件的机制。Inotify可用于监视单个文件或监视目录。当监视一个目录时,inotify将返回该目录本身以及该目录内文件的事件
man page
问:我可以看sysfs (procfs,nfs...)吗?简单地说:是的,但有一些限制。这些限制因内核版本的不同而不同,并且往往会变得更小。请阅读有关特定文件系统的信息。
FAQ page
这很可能会缩小时间差距。
https://stackoverflow.com/questions/17717522
复制相似问题