net.core.rmem_max 和 net.ipv4.tcp_rmem 之间的区别

net.core.rmem_max 和 net.ipv4.tcp_rmem 之间的区别

net.core.rmem_max 和 net.ipv4.tcp_rmem 的第三个值有什么区别?对于 tcp 连接,哪个优先级更高?

对于以下两个例子,tcp 连接的最大缓冲区是多少?

Case 1:
sysctl -w net.core.rmem_max=7388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608'

Case 2:
sysctl -w net.core.rmem_max=8388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'

答案1

核心是总体最大接收缓冲区,而 tcp 仅与该协议相关。

至于优先级问题:似乎 tcp 设置将优先于通用最大设置,这有点令人困惑。设置最大值对当前 tcp 设置没有影响(仅在 CentOS 5 上测试)。

更正确的描述应该是:默认最大值- 但这可能太长了。

相关内容