出现.nfsXXXX 文件,它们是什么?

出现.nfsXXXX 文件,它们是什么?

我有一个应用程序正在运行(在 RHEL5 上),它将数据流式传输到 NFS 共享。最近,我看到它的工作目录中出现了很多 .nfsXXXX...(xxx 是十六进制数),应用程序每小时都会在其中写入文件,然后将它们移动到不同的文件名。

这些文件是什么?这是否表明出现了问题?如何进一步诊断?

答案1

一切正常。这是您的 NFS 客户端试图在其自身操作能力范围内保持正确的“稍后关闭时删除”unix 行为。此 NFS 行为称为“愚蠢的重命名”:

http://nfs.sourceforge.net/#faq_d2

NFSv4.1 将通过 OPEN4_RESULT_PRESERVE_UNLINKED 摆脱这种行为:

https://www.rfc-editor.org/rfc/rfc5661#section-18.16

答案2

Adamo 是正确的。确保您的应用程序在处理完文件后关闭文件。

如果您由于某种原因无法修复该应用程序,您可以创建一个 cron 作业来定期删除这些文件。

答案3

删除文件之前,请确保文件 I/O 已关闭。

大多数网络文件服务器都会生成诸如.nfsXXXXXX和/或 之类的隐藏文件.smbXXXXXX。这些隐藏文件将在未关闭文件 i/o 处理程序的进程退出后被删除。

相关内容