CentOS 7怎么修改具体的网络接口队列深度

冬晨吖_7942

冬晨吖_7942

2026-09-01

648人浏览

原创

ip link set dev eth0 txqueuelen 5000是临时修改网卡发送队列长度最常用且安全的方式,立即生效但重启丢失;千兆网卡推荐值为1000~5000,设过大易引发tx busy或tcp重传异常。

centos 7怎么修改具体的网络接口队列深度

如何用 ip link set 临时修改 txqueuelen

直接改网卡发送队列长度,最常用也最安全的方式就是 ip link set。它不依赖 NetworkManager,也不需要重启服务,改完立刻生效(但重启后丢失)。

常见错误是把值设得过大:比如对千兆网卡盲目设成 10000,结果触发驱动层 tx busy 或重传率上升,dmesg | grep tx 里能看到明显报错。

  • 查当前值:ip link show eth0 | grep txqueuelen
  • 设为 5000(千兆典型值):sudo ip link set dev eth0 txqueuelen 5000
  • 验证是否生效:ip link show eth0 | grep txqueuelen,输出应含 txqueuelen 5000

注意:txqueuelen 是设备层参数,和内核协议栈的 netdev_max_backlog 完全无关,别混在一起调。

为什么不能靠 nmcli/etc/sysconfig/network-scripts/ 永久设置 txqueuelen

NetworkManager 会忽略 txqueuelen 配置项,哪怕你在 ifcfg-eth0 里写 TXQUEUELEN=5000systemctl restart network 后它也不会生效——NM 重载连接时会覆盖掉这个值。

持久化必须绕过 NM,用更底层的机制:

  • 写 systemd service(推荐):创建 /etc/systemd/system/txqueuelen-setter.serviceExecStart 调用 ip link set
  • 或用 NetworkManager dispatcher 脚本:在 /etc/NetworkManager/dispatcher.d/ 下放可执行脚本,匹配接口 up 事件
  • 别用 udev rule:虽然能触发,但时机太早,网卡可能还没完全初始化,容易失败

如果你用的是 DPDK 或 XDP 应用,txqueuelen 根本不起作用,队列由用户态程序自己管理。

CentOS Linux 7.9.2009
CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离

下载

ethtool -G 调的是硬件 ring buffer,不是软件队列

很多人误以为 txqueuelen 是“网卡队列”,其实它只是内核往网卡 DMA 区提交包的缓冲深度;真正决定硬件收发能力的是网卡自身的 ring buffer,必须用 ethtool -G 调。

操作前先确认驱动支持:

  • 查当前大小:ethtool -g eth0,看 Current hardware settings
  • 设 rx/tx ring 各 4096(ixgbe 常用值):sudo ethtool -G eth0 rx 4096 tx 4096
  • igb 驱动最大只支持 4096,i40e 可到 32768;超出会报 Operation not supported

这个设置重启后保留,但若你手动 modprobe -r ixgbe && modprobe ixgbe,ring size 会回到驱动默认值,需重新执行 ethtool -G

别漏掉 netdev_max_backlog 这个软中断前的瓶颈

就算你把 txqueuelen 和 ring buffer 都调大了,如果突发流量下内核协议栈处理不过来,netstat -s | grep dropped 仍会看到 packet receive errors 上升——问题出在软中断排队阶段。

netdev_max_backlog 默认才 1000,千兆链路一有 burst 就溢出。估算公式是:带宽(Mbps) × RTT(ms) ÷ 8 的 2–3 倍(再粗略换算成包数),起步可试 5000:

  • 临时改:sudo sysctl -w net.core.netdev_max_backlog=5000
  • 永久改:在 /etc/sysctl.confnet.core.netdev_max_backlog = 5000,再 sudo sysctl -p

这个参数和 RPS/RFS 开启状态强相关——开了 RPS 后必须用 mpstat -P ALL 1 看各 CPU 软中断负载是否均衡,否则调了也白调。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3028

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4149

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3649

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

346

15

centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

2023.06.16

3369

10

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.10.27

5561

23

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

2026.05.29

154

10

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

2026.05.29

168

10

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

2026.05.29

183

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

尚观Linux入门视频教程
尚观Linux入门视频教程

共22课时 | 5.3万人学习