Linode编译hybla htcp拥塞控制算法模块

由于某些原因,中美线路有时掉包率会很高,想要尝试尝试优化vps网速,查找资料发现linux内核中存在拥塞控制算法模块(hybla htcp)据说在掉包率高时可以大幅提高访问速度,如果linux默认拥塞控制算法cubic只能流畅观看480p的视频,改为hybla或者htcp则可以流畅观看720p的视频,本人使用的Linode但是Linode提供的内核中并不包含此种算法(只有cubic Reno),无奈只能选择自己编译,编译流程为下:

1. 查看vps内核版本:



我Linode的内核为3.11.6-x86_64-linode35,下面的教程也以3.11.6内核为例,涉及到内核路径的自己修改替换即可。

2. 下载相同版本的内核源码


可以去https://www.kernel.org/pub/linux/kernel/v3.0/查找内核源码,找到后下载后缀为tar.gz的文件。

3、安装内核编译工具


编译内核需要下面这些编译工具,不然会编译失败。

4、配置内核编译文件


由于我们只是要为内核增加hybla htcp模块,不需要更改其他功能,直接导出官方的配置文件再修改即可。

编辑.config文件,查找CONFIG_TCP_CONG_CUBIC=y,要编译hybla模块在下面一行增加 CONFIG_TCP_CONG_HYBLA=y,要编译htcp模块在下面一行增加CONFIG_TCP_CONG_HTCP=y,两个都要的话,都添加在下面。

编译模块。

耐心等待编译内核完成,单核编译大约需15分钟。

5、准备编译模块



有的人可能不同时需要两个模块,这里分开写,不同时编译,自己需要哪个编译那个。

5.1、以下是hybla模块的Makefle内容,注意要把KDIR修改为你自己的源码路径,其他则照抄就可以了。

6、开始编译模块


进入源码根目录,编译模块。

7、测试模块


这里以hybla模块为例,htcp模块的话自己替换一下名称即可。

如果成功加载的话会显示下面

自此为止可以说已经成功了。

8、设置开机自动加载模块


这里以hybla模块为例,htcp模块的话自己替换一下名称即可。

如果需要开机自动加载我们需要把模块复制到/lib/modules/3.11.6-x86_64-linode35/kernel/net/ipv4

9、设置hybal为优先加载


这里以hybla模块为例,htcp模块的话自己替换一下名称即可。

编辑/etc/sysctl.conf在最后添加下面这行即可

自此大功告成收工,实现了动态加载hybla htcp模块,并且实现了开机自动加载。

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注