freebsd:freebsd_bbr
目录
轻松在 FreeBSD 14.1+ 启用 BBR 功能
从 14.1 开始 tcphpts, tcp_rack, tcp_bbr 都已经默认编译为模块, 需要用直接加载就可以了, 不需要重新编译内核.
加载模块
kldload tcphpts kldload tcp_bbr
系统启动自动加载模块
可以在 /etc/rc.conf 加入以下内容
kld_list="tcphpts tcp_bbr"
检查模块加载成功
运行以下命令, 看到有 BBR 一行, 并且有使用情况
sysctl net.inet.tcp.functions_available
切换 TCP 默认实现方式为 BBR
运行以下命令
sysctl net.inet.tcp.functions_default=bbr
使应用使用 BBR
默认在切换前启动的应用并不会使用到切换后的 bbr, 一种方法是重启应用, 一种是设置
sysctl net.inet.tcp.functions_inherit_listen_socket_stack=0
系统启动时自动设置 sysctl
添加以下内容至 /etc/sysctl.conf 或 /etc/sysctl.conf.local
net.inet.tcp.functions_default=bbr net.inet.tcp.functions_inherit_listen_socket_stack=0
20241205: 关闭 net.inet.tcp.bbr.measure.use_google 后, 大多数情况不会出现断流, 极小概率在某个系统出现极低速(该问题是接收端其他bug导致)
net.inet.tcp.bbr.measure.use_google=0
freebsd/freebsd_bbr.txt · 最后更改: 2024/12/09 01:47 由 Hshh