AWS Linux AMI 升级 Kernel 4.9 后如何启用 BBR

2016-12-25 16:39:35 +08:00
 liyuhang
error: "No such file or directory" setting key "net.ipv4.tcp_congestion_control"
HVM 架构,似乎不支持 BBR ?
8148 次点击
所在节点    Linux
34 条回复
Remember
2016-12-25 16:52:06 +08:00
只要能升级内核都支持。
ethanlu
2016-12-25 16:56:14 +08:00
BBR 效果明显吗?感觉就跟锐速没区别
skydiver
2016-12-25 16:59:20 +08:00
你执行的什么命令这是…
d7101120120
2016-12-25 17:02:45 +08:00
4.9rc8 才开始支持 BBR
开启命令是

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

检查是否生效是
sysctl net.ipv4.tcp_available_congestion_control
shierji
2016-12-25 17:06:36 +08:00
@d7101120120 检查生效那个错了……那个命令是看内核有没有加载模块的
liyuhang
2016-12-25 17:13:03 +08:00
@skydiver @d7101120120
我执行的和 4 楼的一样

# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.default_qdisc = fq
error: "No such file or directory" setting key "net.ipv4.tcp_congestion_control"


目前状态是
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = cubic reno
d7101120120
2016-12-25 17:13:57 +08:00
@shierji 哦哦是的,应该是 lsmod | grep bbr 命令是查看是否生效的。
d7101120120
2016-12-25 17:15:24 +08:00
@liyuhang 你的确定是内核是 4.9rc8 吗?
liyuhang
2016-12-25 17:15:57 +08:00
# uname -r
4.9.0

以前的内核是 4.4 ,还没有删除,升级内核的时候需要注意什么才能启用 BBR 吗?
liyuhang
2016-12-25 17:17:03 +08:00
@d7101120120 4.9.0 ,是不是只有 4.9rc8 版本才可以?
skydiver
2016-12-25 17:19:22 +08:00
@liyuhang 你这个根本就没启用 bbr 模块啊,试试 modprobe tcp_bbr 看看
liyuhang
2016-12-25 17:20:43 +08:00
@skydiver modprobe: FATAL: Module tcp_bbr not found.
在哪启用?
liyuhang
2016-12-25 17:22:55 +08:00
@skydiver 我编译时用的是 make menuconfig ,然后直接 SAVE 了,是不是不能这样
skydiver
2016-12-25 17:23:41 +08:00
@liyuhang 那就是编译的时候没编译进去。你需要 config 的时候启用才行
EchoChan
2016-12-25 17:27:37 +08:00
4.9 正式版都有了,为什么还要用 rc8 呢
liyuhang
2016-12-25 17:30:20 +08:00
@skydiver 在.confg 里插入一行 CONFIG_TCP_CONG_BBR=y 吗?
d7101120120
2016-12-25 17:30:59 +08:00
@liyuhang rc8 开始支持 bbr 的,这 4.9 不都已经是正式版了吗?照说应该是支持的。可能是楼上说的原因,编译的时候没有启用。我之前 ubuntu 是直接用 kernel.ubuntu.com 现成的内核直接替换的。
wly19960911
2016-12-25 17:38:44 +08:00
http://m.blog.csdn.net/article/details?id=53730374
转发一篇文章你们讨论看看吧(本身不学这方面什么都不懂
d7101120120
2016-12-25 17:59:32 +08:00
@wly19960911 这文章写的可真乱。。。还充满着各种自我装逼和对别人的嘲讽
liyuhang
2016-12-25 18:12:33 +08:00
@d7101120120 @skydiver 成功了(编译时在 .config 文件中插入 CONFIG_TCP_CONG_BBR=y 就好了)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/330031

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX