CentOS 7 网络优化(升级内核、开启 BBR)
我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考《Linux 下的一些简单的 TCP 优化》与《TCP 优化利器——TetaTCP(锐速、LotServer)》。
对于 CentOS 7,更推荐开启 BBR 算法来解决网络问题(优化丢包率、延迟、提升直连效率),特别适合于用于国内访问使用的国外服务器网络优化,最好的优化效果能从直连几百 kb/s 速度提升至 38MB/s(数据为亲测,实际优化效果取决于机房及线路)。
由于 BBR 算法需要 4.9 以上版本 Kernel 支持,所以需要先升级内核。
升级内核
1、yum 系统升级,将所有软件包先升级至最新版本
- yum update -y
2、重启系统,让系统内核及所需环境运行在最新版本下
- root
3、查看当前系统版本、内核版本。如果已经是 4.9 以上版本,则无需进行内核升级。
- cat /etc/redhat-release
- uname -a
4、 导入 elrepo 软件源的 GPG 公钥
- rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
5、导入 elrepo 软件源
- rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
6、启用 elrepo 软件源并下载安装最新稳定版内核
- yum --enablerepo=elrepo-kernel install kernel-ml -y
7、设定 Grub 默认启动新内核
- grub2-set-default 0
8、重启,系统会自动运行到新内核上
- reboot
9、重启后,再次查看内核版本。确认是否已经升级为 4.X 内核
- uname -a
10、删除旧内核(防止 yum 更新旧版内核之后覆盖了 grub 默认启动项)
- yum -y remove kernel kernel-tools
开启 BBR
1、修改系统配置文件
- vim /etc/sysctl.conf
在结尾添加如下内容:
- net.core.default_qdisc = fq
- net.ipv4.tcp_congestion_control = bbr
保存,退出 VIM。(若未安装 vim 可使用 vi)
2、加载新配置
- sysctl -p
3、查看当前使用的拥塞算法
- sysctl net.ipv4.tcp_available_congestion_control
- lsmod | grep bbr
两条命令均返回带有 bbr 的信息则已开启 BBR 算法。
CentOS 7 网络优化(升级内核、开启 BBR)的更多相关文章
- Linux 升级内核开启 TCP BBR 有多大好处
前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bot ...
- centos 6.5 升级内核 linux 3.12.17 (笔记 实测)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- centos 6.5 升级内核 linux 3.12.17
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Linux centos 2.6.32-431.el6.x86_64(Centos-6.5-x86_64-mi ...
- CentOS 6.5 升级内核
Docker需要3.10以上内核支持,Centos6.5 默认内核为2.6.所以手动编译安装3.10内核. 查看当前系统内核版本 [root@gu ~]# uname -r2.6.32-431.el6 ...
- CentOS 6.5 升级内核到 3.10.28
本文适用于CentOS 6.4, CentOS 6.5,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- CentOS 7.x升级内核
第一种针对当前内核版本的小版本升级可以采用如下方法: [root@localhost ~]# uname -r -.el7 [root@localhost ~]# yum list kernel [r ...
- 在centos 7下升级内核
前言 今天读了一篇老外的文章,讲的是如何在linux环境下升级内核.比较暴力,比较简单,故做个记录. 文章中,作者先列出一个常识:linux是内核名,不是系统名.我们平时说的"lin ...
- CentOS 6.5 升级内核 kernel
本文适用于CentOS 6.5, CentOS 6.6,亲测可行,估计也适用于其他Linux发行版. 1. 准备工作 1.1 下载源码包 Linux内核版本有两种:稳定版和开发版 ,Linux内核版本 ...
- 【kernel】Centos 云上升级内核失败 如何处理【笔记记录转】
Centos7选定默认启动的内核版本 vim /etc/grub2.cfg 修改timeout =5 修改成30天 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附 ...
- centos 6.5升级内核到3.1
1.查看本机内核版本 [root@localhost ~]# uname -r 2.6.32-358.el6.x86_64 2.安装含有内核软件的源 步骤一:导入证书 [root@localhost ...
随机推荐
- 数据科学 R语言速成
文章更新于:2020-03-07 按照惯例,需要的文件附上链接放在文首: 文件名:R-3.6.2-win.exe 文件大小:82.4M 下载链接:https://www.lanzous.com/i9c ...
- flask 入门之 logging
如想看详细说明,请到: 1.https://www.cnblogs.com/yyds/p/6901864.html 2.https://docs.python.org/2/library/loggin ...
- redis修改密码以及验证登录,启动服务常用命令
1.通过配置文件,直接修改 2.启动然后使用密码验证登录 3.redis常用命令 启动服务:redis-server --service-start重启服务:service redis restart ...
- 答好友困惑:Java零基础如何入门,不知道怎么学,迷茫ING
作者:程序员小跃 几个星期之前,我在知乎上看到一个提问,说是:对于完全没有经验零基础自身的数学底子也很弱学习Java应该怎么学习呢?想着类似的问题我也有过回答,并且反馈还是蛮好的,就参考之前的思路回答 ...
- 使用 RestTemplate 进行第三方Rest服务调用
1. 前言 RestTemplate 是 Spring 提供的一个调用 Restful 服务的抽象层,它简化的同 Restful 服务的通信方式,隐藏了不必要的一些细节,让我们更加优雅地在应用中调用 ...
- git中常用命令的总结
一.git stash 1.git stash 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动. ...
- java 方法 在jvm中的调用
java 某个类的几个对象,这些对象调用类中一个函数,是各自拥有自己的函数代码还是使用同一段代码?30 1.java 某个类的几个对象,这些对象调用类中一个函数(普通的函数),是各自拥有自己的函数代码 ...
- CVE-2019-0193 远程命令执行-漏洞复现
0x01 漏洞简介 Apache Solr 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.此次漏洞出现在Apache Solr的 ...
- stand up meeting 12/01/2015
part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 赶工sprint3,各部分要合在一起时出现各种问题,各种修改测试:UI本身的功能继续实现完善 6 UWP对控件的 ...
- V - Largest Rectangle in a Histogram HDU - 1506
两种思路: 1 单调栈:维护一个单调非递减栈,当栈为空或者当前元素大于等于栈顶元素时就入栈,当前元素小于栈顶元素时就出栈,出栈的同时计算当前值,当前值所包含的区间范围为从当前栈顶元素到当前元素i的距离 ...