在访问 linux 机器上的 NFS 共享时,我们遇到了 Microsoft 的 NFS 客户端有时会使用大量 CPU (50-100%) 的问题。
服务器似乎处于访问 NFS 开始使用越来越多的 CPU 来执行相同操作的状态,从而导致系统变慢。一旦它进入这种状态,它似乎永远不会恢复。重新启动系统确实可以暂时修复它。任何有关诊断方法、可能原因以及更好的可能解决方案的指导都将不胜感激。
设置:
我们有几台 win 2008 R2 云服务器访问 NFS 共享(访问 NFS 的 redhat 集群)。他们都使用 NFS 客户端来访问它,使用此处描述的注册表修复:http: //blog.cuongnv.com/2009/11/windows-7-client-for-nfs-and-user-name.html,我们没有用户名映射或活动目录。他们通过 IP 而不是挂载的驱动器访问它,据我了解,它仍然使用 Microsoft 客户端进行 NFS 访问 linux 机器上的 NFS 共享。每台服务器都安装了驱动器,因此我们可以查看 NFS 上的文件。
出于参考目的,我们还有两个访问 NFS 的 linux 云服务器,但没有注意到它们存在问题。
用法: 大约 8-15KB 的所有文件 NFS 每分钟获取包含总共大约 8500 个文件的几个目录的文件列表,然后单独检查文件的日期。大约每分钟 26 次列出该目录的子集,其中包含大约 640 个文件,并检查每个文件的日期。每分钟还有大约 60 个文件写入和 60 个文件删除。
附带说明一下,我们还遇到了(一个可能不相关的)问题,即服务器在访问 NFS 时出现停止错误。我们相信这个补丁会解决这个问题:http: //support.microsoft.com/kb/2584874(尚未应用)。