我们在使用NFS的客户端时遇到问题,有时在访问Linux机箱上的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(尚未应用)。
答案 0 :(得分:0)
对不起,但最后有一个半解决方案。
这是为了增加服务器上的NFS线程并提高代码的效率,因此它不会执行尽可能多的目录列表。这些组合使它能够合理地工作(至少在我们的情况下)。