2

我在启用缓存的 red hat5.4 NFSv3 上收到 python errno.ESTALE 错误。

我查了一下发现:
“当句柄引用的文件或目录被另一台主机删除时,文件句柄就会变得陈旧,而您的客户端仍然持有对该对象的活动引用。典型示例发生在进程的当前目录时,在您的客户端上运行,在服务器上被删除(通过在服务器上运行的进程或在另一个客户端上)。”

我发现如果你 chown 或 listdir 等,你可以刷新缓存,因此它不会过时,但这个方法对我不起作用。

有人有其他解决方案吗?

4

1 回答 1

0

我假设这是 NFS,并且您正在 Linux 上运行客户端。您应该尝试重新挂载您的 NFS 文件系统。

像这样:

$ mount -o remount [your filesystem]

您也可以尝试按照您提到的那样刷新缓存。

# To free pagecache
$ echo 1 > /proc/sys/vm/drop_caches

# To free dentries and inodes
$ echo 2 > /proc/sys/vm/drop_caches

# To free pagecache, dentries and inodes
$ echo 3 > /proc/sys/vm/drop_caches
于 2017-08-23T17:52:03.540 回答