禁用linux tcp接收器窗口自动调整
我正在使用禁用linux tcp接收器窗口自动调整,linux,tcp,performance,Linux,Tcp,Performance,我正在使用linux(2.6.43.8-1.fc15.i686.PAE)并且在禁用TCP接收器窗口的自动调谐时遇到了一些问题 我正试图找到一个给定的设置,这将迫使我的客户机公布一个固定的接收器窗口。我试图给net.core.rmem_max(/proc/sys/net/core/rmem_max)和net.core.rmem_default(/proc/sys/net/core/rmem default)以及ipv4.tcp_rmem(net.ipv4.tcp_rmem)赋予相同的给定值,但在检
linux(2.6.43.8-1.fc15.i686.PAE)
并且在禁用TCP接收器窗口的自动调谐时遇到了一些问题
我正试图找到一个给定的设置,这将迫使我的客户机公布一个固定的接收器窗口。我试图给net.core.rmem_max
(/proc/sys/net/core/rmem_max)和net.core.rmem_default
(/proc/sys/net/core/rmem default)以及ipv4.tcp_rmem
(net.ipv4.tcp_rmem)赋予相同的给定值,但在检查广告窗口(使用wireshark)时,它绝对不会改变任何东西
这是一个关于TCP行为的研究,如果有人能回答我,我将非常感激
提前谢谢
PS:我利用来调整参数关闭TCP接收缓冲区大小的自动调整。在接收器上:
$ sudo sysctl net.ipv4.tcp_moderate_rcvbuf=0
或
非常感谢您快速清晰的回答。这也给了我一个指针,指向所有参数的详细解释位置。然而,尽管尝试了两个cmd(并且仍然将上述参数保持在相同的值),我可以观察到来自我的客户机的广告TCP窗口正在增加(在我的实验中,我下载了一个60MB的对象,从17536 win开始,到1049805结束)。有人知道这是从哪里来的吗?提前感谢检查,您应该禁用TCP窗口缩放echo 0>/proc/sys/net/ipv4/TCP_窗口缩放取消激活接收器windo自动调谐:
$sudo echo 0>/proc/sys/net/ipv4/TCP_medium\u rcvbuf
然后将自动调谐的最小/默认/最大值固定为4000000
$sudo echo 4000000 4000000>/proc/sys/net/ipv4/TCP\rmem
修复为4000000 rmem_默认值/max
$sudo echo 4000000>/proc/sys/net/core/rmem_默认值
$sudo echo 4000000>/proc/sys/net/core/rmem_max
通过0.0.0 dev eth0 protostatic initrwnd将播发接收器窗口的第一个值覆盖到足以超过4MB的值
$ip路由更改默认值5000
sudo echo foo>xxx
将永远无法按预期工作,因为重定向(>)是由shell完成的。以root用户身份运行echo
将一事无成。您可能需要这样做:echo foo | sudo tee xxx
。
$ sudo echo 0 > /proc/sys/net/ipv4/tcp_moderate_rcvbuf