CentOS 7安装4.9内核开启BBR

最新的4.9内核合并了Google研发的BBR TCP阻塞算法,使用效果大概可以跟锐速相比。待4.9正式版发出前,CentOS并没有4.9的RPM包。那么我们可以手动编译内核,安装并启用。


注意:
内存小于512M的机器在编译内核bzImage的时候会出现错误。仅推荐1G内存以上的机器跑内核编译。

已编译好的RC内核:http://elrepo.org/people/ajb/devel/kernel-ml/el7/x86_64/RPMS/

以下是自己编译的步骤:

1. 先从kernel.org下载内核:

2. 解压

3. 安装必要的编译工具

4. 进入linux-4.9-rc8目录,配置.config

选择Networking Support回车,找到Network options回车,找到TCP: Advanced congestion algorithm回车,移动到BBR按M,然后按右方向键找到Save回车两次,最后按右一直Exit退出到shell。

5. 编译过程

首先要做编译准备

再进行正式编译

然后就是漫长的等待。

6. 编译模块

虽然模块在上一步已经做好,但是为了以防万一还是检查下比较好。

7. 安装模块

8. 安装新内核

9. 更改grub

(以下用root进行操作)

找到/boot/grub2/grub.cfg中带4.9-rc8的menuentry名,比如我的是CentOS Linux (4.9.0-rc8) 7 (Core),复制下来。输入以下命令查看默认kernel的为止:

会出现类似的列表:

输入以下命令更新缺省内核

10. 重启

重启后确认内核为4.9:

11. 修改/etc/sysctl.conf开启BBR的TCP阻塞算法。

添加或者修改以下两行:

即可。

注意:系统内的ipv6项并没有tcp_congestion_control一说,v4和v6用的是一样的(原文引用: IPv6 has no global variables such as tcp_*. tcp_* settings under ipv4/ also
apply to IPv6.)

删除编译的内核,参考此文:http://askubuntu.com/questions/594443/how-can-i-remove-compiled-kernel

CentOS 7安装4.9内核开启BBR》有8个想法

  1. 进入linux-4.9-rc8目录,配置.config是什么意思呢,make prepare似乎也没有这条语句

发表评论