1. 查看当前内核
uname -r
2. 导入ELRepo公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
3. 安装ELRepo
现在官网提供(centos6,centos7,centos8源)我这里是centos7.x
版本所以选择了7
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm -y
4. 查看ELRepo提供的内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
5. 安装kernel-ml
内核,此步安装时间可能比较长,耐心等待并非卡住了
kernel-lt:表示longterm,即长期支持的内核;当前为4.4.。
kernel–ml:表示mainline,即当前主线的内核;当前为5.2.
yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-ml -y
这一步结束后提示
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was
12:Timeout on http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7:(28,'Connection timed out after 30001 milliseconds')
elrepo-kernel:mirror.rackspace.com
没有可用软件包kernel-ml。
错误:无须任何处理
这个错误表示系统尝试从mirrors.elrepo.org
获取elrepo-kernel
镜像列表时超时,导致无法找到kernel-ml
软件包。这可能是由于网络问题或镜像源本身的问题导致的。
需要手动安装
手动下载和安装
wget https://dl.lamp.sh/kernel/el7/kernel-ml-5.5.4-1.el7.elrepo.x86_64.rpm
sudo rpm -ivh kernel-ml-*.rpm
更新YUM缓存
尝试清除yum
缓存并重新生成:
sudo yum clean all
sudo yum makecache
6. 安装完毕后使用下面的命令查看是否安装成功。
rpm -qa | grep kernel
显示:
kerne-3.10.0-1160.15.2.el7.x8664
kernel-ml-5.5.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.15.2.el7.x86_64
kernel-tools-3.10.0-1160.15.2.el7.x86_64
设置内核启动顺序默认顺序从1开始
kernel-ml-5.5.4为2
里面kernel-ml-5.5.4-1.el7.elrepo.x86_64
就是安装的新版版本内核(你看到这篇教程的时候可能内核版本有变化,随机应变)
接下来需要设置系统启动顺序,使用下面的命令。
sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d\'
我的显示如下:
CentOS Linux(5.5.4-1.el7.elrepo.x86_64) 7(Core)
Cent0S Linux(3.10.0-1160.15.2.el7.x86_64) 7(Core)
CentOS Linux(0-rescue-96820b9851c24560b5f942f2496b9aeb) 7(Core)
7. 设置默认启动为新内核,然后更新GRUB并重启:
sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
8. 查看当前内核
uname -r
9. 启用BBR
9.1 开启BBR
echo "net.core.default_qdisc=fq">>/etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr">>/etc/sysctl.conf
10. 使配置生效
sysctl-p
11.验证方法
sysctl -n net.ipv4.tcp_congestion_control
或
Ismod | grep bbr