通过ELRepo RPM repo升级内核
查看当前内核版本
$uname -r
输出如下:
3.10.0-514.26.2.el7.x86_64
说明当前的内核为 3.10.0
安装ELRepo repo
$sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
通过ELRepo repo安装新版内核
$sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
查询安装结果
$rpm -qa | grep kernel
输出如下:
kernel-3.10.0-514.26.2.el7.x86_64
kernel-tools-libs-3.10.0-514.26.2.el7.x86_64
kernel-tools-3.10.0-514.26.2.el7.x86_64
kernel-headers-3.10.0-514.26.2.el7.x86_64
kernel-ml-5.2.4-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
看倒数第二行 kernel-ml-5.2.4-1.el7.elrepo.x86_64
,说明安装成功了。
将新版内核设置为grub2的启动入口
使用如下命令获取grub2的所有选项
$sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
输出如下:
CentOS Linux (5.2.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-963c2c41b08343f7b063dddac6b2e486) 7 (Core)
我们需要设置的内核版本在第1行,即0号位置(下标从0开始计算)。所以我们使用如下命令设置
$grub2-set-default 0
重启机器
$reboot
检查内核版本是否已更新
$uname -r
输出如下:
5.2.4-1.el7.elrepo.x86_64
说明内核升级已完成。
开启BBR
修改sysctl的配置
$echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
$echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
$sudo sysctl -p
查看当前可用的拥塞控制算法
$sysctl net.ipv4.tcp_available_congestion_control
输出如下:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
验证bbr是否开启
$sudo sysctl -n net.ipv4.tcp_congestion_control
输出如下:
bbr
验证内核模块是否被加载
$lsmod | grep bbr
输出如下:
tcp_bbr 20480 2
结束,感谢阅读~
参考链接
- How to Deploy Google BBR on CentOS 7 (https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7)
原文链接: https://pengrl.com/p/7517/
原文出处: yoko blog (https://pengrl.com)
原文作者: yoko (https://github.com/q191201771)
版权声明: 本文欢迎任何形式转载,转载时完整保留本声明信息(包含原文链接、原文出处、原文作者、版权声明)即可。本文后续所有修改都会第一时间在原始地址更新。
本篇文章由一文多发平台ArtiPub自动发布