其实就是这个 KernelPCC,这玩意是几年前一个老外放出来的,实际效果应该是没有 BBR 好,但是也可以解决某些问题。
比如 OneProvider 的某些垃圾独立服务器安装的 CentOS7 无法换内核,一换内核就宕机。再者换内核本身就是极具风险的一件事,不乏很多 VPS 换内核就起不来的情况。
KernelPCC 编译出来的模块可以在 3.X 系列的内核上面工作,所以 CentOS7 不换内核也可以用。下面我在一台 CentOS7.6X64 的机器上测试。
首先查看当前的系统内核版本:
|
1
|
uname -r
|
我这个是目前 CentOS7.6 最新的版本,记住这个待会会用到:
|
1
|
3.10.0-957.1.3.el7.x86_64
|
安装内核头文件:
|
1
|
yum -y install kernel-headers-$(uname -r) kernel-devel-$(uname -r)
|
重启:
|
1
|
reboot
|
重新登录上来安装开发工具包:
|
1
|
yum -y groupinstall "Development Tools"
|
安装 CentOS 的 SCL 源:
|
1
|
yum -y install centos-release-scl
|
安装高版本的 GCC:
|
1
|
yum -y install devtoolset-7-gcc*
|
切换 GCC 版本:
|
1
|
scl enable devtoolset-7 bash
|
拉取项目源码:
|
1
2
3
|
cd
git clone https://github.com/giltu/KernelPCC.git
cd KernelPCC
|
编辑 Makefile:
|
1
|
vi Makefile
|
把路径改为你之前查询到的内核版本号:
|
1
|
KVERSION := /usr/src/kernels/3.10.0-957.1.3.el7.x86_64
|
修改位置:

然后编译:
|
1
|
make
|
如果正常的话,就可以把模块加载到内核了:
|
1
|
insmod tcp_TA.ko
|
查看这个模块是否加载成功:
|
1
|
lsmod | grep TA
|
如果能够回显出类似下面的内容就说明模块加载正常:
![]()
修改 TCP 算法为 TA:
|
1
2
|
echo "net.ipv4.tcp_congestion_control=TA" >> /etc/sysctl.conf
sysctl -p
|
查看是否生效:
|
1
|
sysctl net.ipv4.tcp_congestion_control
|
回显如果如下图就说明模块正常工作了:
![]()
开机启动:
|
1
2
|
echo "insmod ~/KernelPCC/tcp_TA.ko" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
|
简单的下载测试:
未启用 KernelPCC 的下载速度:

启用 KernelPCC 的下载速度:

油管的话不启用看 1080 都成问题,启用后看个 4K 没什么压力。总而言之这个没有 BBR 稳定。
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
你可能也喜欢
- ♥ 魔方云:62 元/月/1GB 内存/15GB SSD 空间/400GB 流量/KVM/香港 CN2/原生 IP09/24
- ♥ #分享#Virmach 优惠码使用及 VPS 购买图文教程08/19
- ♥ centos6 安装 transmission+flexget 实现 PT 自动刷流量08/19
- ♥ Krypt ION:$15/月/1GB 内存/25GB SSD 空间/500GB 流量/100Mbps/KVM/新加坡 PCCW/新加坡 CN2/新加坡 China Mobile09/22
- ♥ 宝塔面板使用 FTP 储存空间备份提示“正在获取文件列表”解决办法08/20
- ♥ Debian/Ubuntu 内核降级教程-降低(BBR)为支持锐速的内核版本08/20







