nfs 服务器获取许多 rpc-srv/tcp:nfsd:发送 1048708 字节时仅发送 700260 - 关闭套接字

nfs 服务器获取许多 rpc-srv/tcp:nfsd:发送 1048708 字节时仅发送 700260 - 关闭套接字

系统运行的是 CentOS 7.3,通过以太网和无限带宽提供文件服务,但绝大多数流量是通过无限带宽传输的

我刚刚建立了一个新的文件服务器,现在它生成了大量以下错误:

[2007827.701033] rpc-srv/tcp: nfsd: sent only 618872 when sending 1048708 bytes - shutting down socket
[2007835.313884] rpc-srv/tcp: nfsd: sent only 75908 when sending 1048708 bytes - shutting down socket

我将 tcp_rmem 和 wmem 增加到最大 32mb,但问题仍然存在

net.ipv4.tcp_rmem = 4096 87380 33554432 
net.ipv4.tcp_wmem = 4096 65536 33554432

还有其他方法可以调整以解决这个问题吗?

答案1

本网站报告了一些其他建议,包括增加 NIC txqueuelen。这些建议主要针对高延迟网络,但我注意到在 Fedora24 Infiniband 接口下,默认情况下 txqueuelen 值 (256) 低于其他接口 (1000),因此除了其他建议之外,txquelen 建议在这种情况下也可能有意义。

现代的做法实际上是:

ip link set ib0 txqueuelen 10000

按照所示页面上的建议操作后,我的 nfs 服务器中不再出现您所报告的类型的 nfs-on-Infiniband 错误。

相关内容