如何在MAC OS X中获得最大的TCP接收/发送窗口?

时间:2010-12-22 11:41:16

标签: linux macos tcp sysctl

如何在MAC OS X中获得最大的TCP接收/发送窗口?

Linux中有两个ctl。 / proc / sys / net / core / rmem_max - 最大TCP接收窗口(NET_CORE_RMEM_MAX) / proc / sys / net / core / wmem_max - 最大TCP发送窗口(NET_CORE_WMEM_MAX)

但我找不到如何在mac os中获取这些参数。

有人知道吗?

我在MAC OS X中找到了以下ctl: net.inet.tcp.recvspace,net.inet.tcp.sendspace,kern.ipc.maxsockbuf

似乎recvspace +的发送空间不能大于maxsockbuf。 我在这里读过它: http://www.macgeekery.com/tips/configuration/mac_os_x_network_tuning_guide_revisited

2 个答案:

答案 0 :(得分:2)

我不是100%确定这些是否正确,但请尝试sysctl -n net.inet.tcp.recvspacesysctl -n net.inet.tcp.sendspace。您可以使用sysctl -w设置它们(请参阅man sysctl)。

答案 1 :(得分:0)

如OP所述:recvspace+sendspace < maxsockbuf

maxsockbufkern.ipc.nmbclustersnmbclusters*2KB/16=maxsockbuf

的限制
sysctl -a | egrep nmbcl\|maxsockb
kern.ipc.maxsockbuf: 8388608
kern.ipc.nmbclusters: 65536

要增加maxsockbuf,请告诉系统使用比 通过ncl boot arg默认mbufclusters :(您需要在编辑boot-arg之前禁用SIP)

nvram boot-args="ncl=131072"
shutdown -r now

引用here