linux4.9编译内核,centos6编译linux-4.9内核启用bbr

一、       BBR简介

bbr算法作为google出品的一套拥塞控制算法,致力于解决两个问题:

1.        在一定丢包率的网络上充分利用带宽

2.        降低网络链路buffer占用率,降低延迟

bbr是非常适合于高延迟、高带宽的网络,在一定丢包率网络环境,使用bbr可以大幅提高传输质量。linux-4.9或以上内核开始支持bbr,对于网络加速来讲,这是一件极大的好事。下面来介绍如何编译linux-4.9内核开启bbr,之前写过一篇编译内核开启bbr的文章,中间忽略好多细节,下面详细描述编译linux-4.9内核过程。

二、       编译内核

从官网(kernel)上下载linux-4.9.79版本(linux-4.9目前最新版本)内核,编译工具gcc、rpmbuild等请自行安装。

解压进入linux-4.9.79,编译内核的时候是根据该目录下的.config配置文件进行编译,该文件第一次是不存在的,我们需要自己配置。通常有几种方法:

1.        拷贝本地配置文件,”cp /boot/config-`uname -r`* .config”或”make localmodconfig”。

2.        make defconfig,使用默认的config。

3.        make menuconfig.

这里使用make menuconfig来进行配置内核。

在进行配置的时候,有些点需要注意,尤其是关于bbr的配置,因为内核默认并不将bbr选项选上,所以导致编译出来的内核不支持bbr。

下面是编译选项:

1.        去掉debug

进入”Kernel hacking > Compile-time checks and compiler options”,将”Compile the kernel with debug info”选项去掉,此选项会导致编译的内核很大。

2.        fq

sched fq,基于tcp连接发现pacing rate来发送数据。Linux-3.9后内核出现tcp pacing rate概念,可以将窗口数据按照一定速率平滑发送出去,tcp依靠schedule来实现pacing。bbr的pacing也是依靠fq,所以这个选项一定确认是被选上的。

执行命令”make menuconfig”,进入配置界面,然后进入”Networking support > Networking options > Qos and/or fair queueing”,这个界面有目前支持的队列算法,如”CBQ,ATM,PRIO,SFQ”等,确认”Fair Queue Controlled Delay AQM”、”Fair Queue”这两个选项是选上的。这里选着M。

3.        bbr

进入”Networking support > Networking options > TCP: advanced congestion control”界面,可以看到有”BBR TCP”一栏选项,确认”BBR TCP”是被选上的,这里选M。

其它需要的配置项可以自行配置,至此,内核配置完成,执行”make rpm”编译内核rpm包,过程大概40M-1H左右,具体视机器配置而定。

三、       开启BBR

安装好linux-4.9内核后,修改”/etc/grub.conf”里的”default=1”改为”default=0”,然后重启。重启后,在”ect/sysctl.conf”添加”net.core.default_qdisc=fq”,”net.ipv4.tcp_congestion_control=bbr”。执行”sysctl -p”使生效。

执行命令”lsmod | grep bbr”,查看BBR是否正确启动。

如果返回字符串包含bbr,BBR已经正确启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值