CentOS7 开启TCP BBR拥塞控制算法
先把/etc/sysctl.conf文件中关于net.ipv4.tcp_congestion_control的配置注释掉。
通过使用ELRepo源的方式在CentOS中安装最新版kernel开启TCP BBR拥塞控制算法,安装脚本如下:
查看当前系统内核:
执行下面的命令,如果结果中有bbr, 则证明你的内核已开启BBR。
执行下面的命令,看到有 tcp_bbr 模块即说明BBR已启动。
CentOS6开启TCP BBR拥塞控制算法
一、更换内核
参考网址:http://elrepo.org/tiki/tiki-index.php
导入 Public Key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装 ELRepo 源
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
请在安装该源之前,确保你的系统已经安装了 yum-plugin-fastestmirror,一般的都已经安装,毕竟装机十几台都没遇到
安装完以后,这里有两步
1、直接更新到最新版的内核
yum --enablerepo=elrepo-kernel install kernel-ml
2、根据需求,安装特定版本的内核
打开内核下载页:http://elrepo.org/linux/kernel/el6/x86_64/RPMS/
将选定的版本内核 wget 到服务器上,然后安装对应的 RPM 包,如
rpm -Uvh kernel-ml-4.10.0-1.el6.elrepo.x86_64.rpm
查看当前机器内核
ls -l /boot
输入后显示如下内容
[root@tw-3 ~]# ls -l /boottotal 93576-rw-r--r--. 1 root root 107134 Jul 23 2015 config-2.6.32-573.el6.x86_64-rw-r--r--. 1 root root 108108 Jan 11 21:02 config-2.6.32-642.13.1.el6.x86_64-rw-r--r--. 1 root root 182745 Feb 20 02:47 config-4.10.0-1.el6.elrepo.x86_64drwxr-xr-x. 3 root root 4096 Jan 24 19:55 efidrwxr-xr-x. 2 root root 4096 Feb 22 06:48 grub-rw-------. 1 root root 24036511 Jan 24 19:57 initramfs-2.6.32-573.el6.x86_64.img-rw-------. 1 root root 21949645 Jan 24 20:00 initramfs-2.6.32-642.13.1.el6.x86_64.img-rw-------. 1 root root 25269845 Feb 22 06:48 initramfs-4.10.0-1.el6.elrepo.x86_64.img-rw-r--r--. 1 root root 205998 Jul 23 2015 symvers-2.6.32-573.el6.x86_64.gz-rw-r--r--. 1 root root 215528 Jan 11 21:02 symvers-2.6.32-642.13.1.el6.x86_64.gz-rw-r--r--. 1 root root 341801 Feb 20 02:48 symvers-4.10.0-1.el6.elrepo.x86_64.gz-rw-r--r--. 1 root root 2585052 Jul 23 2015 System.map-2.6.32-573.el6.x86_64-rw-r--r--. 1 root root 2618532 Jan 11 21:02 System.map-2.6.32-642.13.1.el6.x86_64-rw-------. 1 root root 3417065 Feb 20 02:47 System.map-4.10.0-1.el6.elrepo.x86_64-rwxr-xr-x. 1 root root 4220560 Jul 23 2015 vmlinuz-2.6.32-573.el6.x86_64-rwxr-xr-x. 1 root root 4269968 Jan 11 21:02 vmlinuz-2.6.32-642.13.1.el6.x86_64-rwxr-xr-x. 1 root root 6247904 Feb 20 02:47 vmlinuz-4.10.0-1.el6.elrepo.x86_64
这里可以发现,我的机器有 3 个内核,分别是 2.6.32-573.el6.x86_64、2.6.32-642.13.1.el6.x86_64、4.10.0-1.el6.elrepo.x86_64
这里,我们只需要 4.10.0-1.el6.elrepo.x86_64 这个最新版的
编辑 menu.lst 文件
nano /boot/grub/menu.lst
将其中的 default 改成 0,这其中也要看你内核的排序,一般来说最新安装的都是排在最前面的
保存文件,并重启吧!
重启完成后,输入uname -r
检查内核版本是否为最新
二、开启 BBR 算法优化
开启 BBR,如果/etc/sysctl.conf
文件有关于net.ipv4.tcp_congestion_control
配置的,请注释掉
再输入
echo "net.core.default_qdisc=fq" >> /etc/sysctl.confecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存生效sysctl -p
执行sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 BBR,则内核开启 BBR 算法成功
执行lsmod | grep bbr
,看到 tcp_bbr 则说明 BBR 启动成功
已有 13508 位网友参与,快来吐槽:
发表评论