本文目录导读:

net.core.rmem_default 是 Linux 内核参数,用于设置接收套接字(socket)默认缓冲区大小(以字节为单位),它影响所有类型的网络协议(TCP、UDP、UNIX 域套接字等)的默认接收缓冲区。
如何设置(三种方法)
临时生效(重启后失效,用于测试)
# 设置为 262144 字节(256KB) sudo sysctl -w net.core.rmem_default=262144 # 立即查看是否生效 sysctl net.core.rmem_default
永久写入配置文件(推荐)
编辑 /etc/sysctl.conf 或在 /etc/sysctl.d/ 下创建自定义文件(如 99-network.conf):
# 在文件末尾添加 net.core.rmem_default = 262144
然后加载配置:
sudo sysctl -p # 或指定文件 sudo sysctl -p /etc/sysctl.d/99-network.conf
通过内核接口直接写入
echo 262144 | sudo tee /proc/sys/net/core/rmem_default
但此方法与 sysctl -w 效果相同,也是临时生效。
关键说明与注意事项
-
单位:字节,常用值参考(单位:字节):
212992(约 208KB) – 大多数发行版默认值262144(256KB) – 通用推荐524288(512KB) – 高吞吐场景1048576(1MB) – 内存充裕时的极端场景
-
与其他参数的关系:
net.core.rmem_max(硬上限):应用程序通过SO_RCVBUF能设置的最大值。rmem_default不能超过rmem_max。net.ipv4.tcp_rmem:TCP 协议的三个值(min/default/max),会覆盖net.core.rmem_default,如果主要关心 TCP,应调整tcp_rmem的第二个值。net.core.wmem_default(对应发送缓冲区)
-
生效范围:
- 对新创建的套接字生效,已存在的连接不受影响。
- 应用程序可以通过
setsockopt()设置SO_RCVBUF覆盖此默认值。
-
检查当前值:
sysctl net.core.rmem_default cat /proc/sys/net/core/rmem_default
-
常见应用场景:
- UDP 高吞吐:UDP 使用此参数作为默认接收缓冲区,增大它可以减少丢包。
- TCP 性能调优:虽然 TCP 有独立参数,但某些环境下
rmem_default作为下限参考。
示例:完整的网络缓冲区调优(含 TCP)
# /etc/sysctl.d/99-network.conf # 接收缓冲区 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 # 发送缓冲区 net.core.wmem_default = 262144 net.core.wmem_max = 4194304 # TCP 特定(自动调整) net.ipv4.tcp_rmem = 4096 131072 6291456 net.ipv4.tcp_wmem = 4096 65536 4194304 # 开启 TCP 窗口缩放(大窗口支持) net.ipv4.tcp_window_scaling = 1
- 临时测试:
sudo sysctl -w net.core.rmem_default=262144 - 永久设置:编辑
/etc/sysctl.d/*.conf→sudo sysctl -p - 必须同时考虑
rmem_max(硬上限)和tcp_rmem(若优化 TCP)
根据你的网络类型(TCP/UDP/其他)选择合适的参数进行联动调整,如果只设置 rmem_default 而未设置 rmem_max,应用程序可能无法请求更大的缓冲区。
标签: Linux内核参数
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播