BBR acceleration

       This article introduces one-key fool-style upgrade of the kernel and installation of BBR acceleration. Affirm: The tutorial for one-click installation of BBR was created by Teddy! Google's TCP BBR congestion control algorithm has been included in various versions starting from Linux 4.9. This one-click BBR installation package is only applicable to operating systems such as CentOS 6+, Debian 7+, Ubuntu 12+ and KVM, Xen, VMware and other virtual environments (Excluding OpenVZ). Original:, the author is in the host evaluation group.


Log in as the root user and run the following command:


 wget --no-check-certificate && chmod +x && ./



After the installation is complete, the script will prompt you to restart the VPS, enter y and press Enter to restart.

After the restart is complete, enter the VPS, verify whether the latest kernel is successfully installed and enable TCP BBR, enter the following command:

uname -r

Check the kernel version, the latest version means OK


sysctl net.ipv4.tcp_available_congestion_control

The return value is generally:

net.ipv4.tcp_available_congestion_control = bbr cubic reno

yum --enablerepo=elrepo-kernel -y install kernel-ml-headers

After successful installation, install the installation packages that were previously dependent on the kernel headers, such as gcc, gcc-c++, and so on.


Why install the latest version of kernel headers?

This is because the x-libev version has a tcp fast open function, which cannot be turned on if it is not installed.


Kernel upgrade method


If it is a CentOS system, execute the following command to upgrade the kernel:


yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel

If you have manually installed the new version of the kernel headers, you also need the following command to upgrade the headers:


yum --enablerepo=elrepo-kernel -y install kernel-ml-headers

For CentOS 6, execute the command:


sed -i's/^default=.*/default=0/g' /boot/grub/grub.conf

For CentOS 7, execute the command:


sysctl net.ipv4.tcp_congestion_control

The return value is generally:

net.ipv4.tcp_congestion_control = bbr


sysctl net.core.default_qdisc

The return value is generally:

net.core.default_qdisc = fq


lsmod | grep bbr

If the return value has the tcp_bbr module, it means that bbr has been started. Note: Not all VPS will have this return value, if not, it is normal.


Installation method of the latest kernel headers under CentOS

Originally, I planned to install kernel-ml-headers directly in the script, but there will be conflicts with the original kernel headers. So after adding a script here, install the latest version of the kernel headers tutorial manually.

Execute the following command


yum --enablerepo=elrepo-kernel -y install kernel-ml-headers

Depending on the CentOS version, an error message similar to the following will generally appear at this time:


Error: kernel-ml-headers conflicts with kernel-headers-2.6.32-696.20.1.el6.x86_64

Error: kernel-ml-headers conflicts with kernel-headers-3.10.0-693.17.1.el7.x86_64

Therefore, you need to uninstall the original kernel headers first, and then install the latest kernel headers. Excuting an order:


yum remove kernel-headers

After confirming that it is correct, enter y and press Enter to start unloading. Note that sometimes this operation will also uninstall some installation packages that depend on the kernel headers, such as gcc, gcc-c++ and the like. But it doesn't matter, we can reinstall it after installing the latest version of the kernel headers.

After the uninstallation is complete, execute the installation command given above again.

grub2-set-default 0

If it is a Debian/Ubuntu system, you need to manually download the latest version of the kernel to install the upgrade.

Go here to download the latest version of the kernel deb installation package.

If the system is 64-bit, download the deb package generic in the linux-image of amd64;

If the system is 32-bit, download the deb package generic in the linux-image of i386;

The installation command is as follows (take the latest version of 64-bit 4.12.4 as an example, please replace it with the downloaded deb package):


dpkg -i linux-image-4.12.4-041204-generic_4.12.4-041204.201707271932_amd64.deb

After the installation is complete, execute the command:



Finally, restart the VPS.


Special Note


If you are using Google Cloud Platform (GCP) to replace the kernel, sometimes you will encounter a situation where the entire disk becomes read-only after restarting. Just execute the following command to restore:


mount -o remount rw /

at 12/06/2020, 18:00pm

Updated: at 12/06/2020, 18:11pm

Been read 1378 times

Similar Articles

How to mount a disk under Linux

Theoretically adapt to all Linux systems, just determine the mount point Copy all the following commands directly and paste them into the SS terminal: mkfs.ext4 /dev/vdb echo'/dev/vdb /home ext4 defaults 0 0'>> /etc/fstab mount...

Centos build graphical interface and VNC

The installation may cause DNS to be cleared, so you need to execute the following command first and then follow the steps to install:   chattr +i /etc/resolv.conf installation:   yum install -y tigervnc tigervnc-server yum...

What People wrote...

Powered by WHMCompleteSolution