首页/系统/Linux 内核与性能调优速查/net.ipv4.tcp_rmem 接收缓冲自动调优
sysctl 内核参数72 条

net.ipv4.tcp_rmem 接收缓冲自动调优

三个值分别是最小/默认/上限的接收缓冲(默认 4096 131072 6291456);内核按链路 BDP 自动调节,上限决定单连接吞吐天花板。

参数net.ipv4.tcp_rmem = min default max
默认值4096 131072 6291456
天花板带宽×RTT 超过 max 时吞吐受限于接收窗口

估算与调整

估算与调整
# 1Gbps × 100ms RTT ≈ 12.5MB 在途数据
sysctl -w net.ipv4.tcp_rmem='4096 262144 16777216'
sysctl net.core.rmem_max   # 记得同步放宽
接收窗口还会受应用读取速度限制;若应用读取慢,调大缓冲只是延后积压。

易错点

  • 不先算 BDP 就盲目调大 max 是常见浪费:跨机房 RTT 与带宽拼出的需求才是依据
  • 修改只影响新建立的连接,已在途连接沿用旧值;灰度验证时要新建连接测试

数据来源与参考

  • Linux 内核 Documentation/admin-guide/sysctl/net.rst
  • man 7 tcp
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌