本文目录导读:

在 Linux 系统中,查看可用的 TCP 拥塞控制算法,正确的内核参数是:
net.ipv4.tcp_available_congestion_control
(注意:_control 是全称,你问题中缺少了 _control 部分)。
查看方法
使用 sysctl 命令(最常用)
sysctl net.ipv4.tcp_available_congestion_control
输出示例:
net.ipv4.tcp_available_congestion_control = cubic reno bbr
这表示当前内核支持 cubic、reno 和 bbr 三种算法。
直接读取 /proc 文件系统
cat /proc/sys/net/ipv4/tcp_available_congestion_control
效果同上。
查看当前正在使用的算法(确认是否生效)
如果你想查看系统当前实际使用的拥塞控制算法:
sysctl net.ipv4.tcp_congestion_control
输出示例:
net.ipv4.tcp_congestion_control = bbr
补充说明
- 算法列表含义:输出的是一个以空格分隔的字符串,表示内核编译时内置或通过模块加载支持的算法。
- 常见算法:
cubic:Linux 默认算法,适合高带宽长链路。bbr:Google 开发的基于带宽和延迟的算法,需要内核 4.9+ 支持。reno:经典 TCP 算法,兼容性最好。
- 内核支持差异:
- 如果你的输出只显示
cubic reno,说明内核未启用 BBR(可能需要加载模块或升级内核)。 - 如果输出为空或报错,可能是内核参数被删减或没有权限(需以 root 或
sudo执行)。
- 如果你的输出只显示
如何临时修改当前算法(以 BBR 为例):
# 设置当前生效(重启后失效) sudo sysctl -w net.ipv4.tcp_congestion_control=bbr # 永久生效需写入 /etc/sysctl.conf 或 /etc/sysctl.d/ 下的配置文件 echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 立即应用
重点提示
- 如果使用
sysctl net.ipv4.tcp_available_congestion(缺少_control),系统会报错:error: "net.ipv4.tcp_available_congestion" is an unknown key所以请确保命令拼写正确。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。