当前位置: 首页 > news >正文

linux怎么把 RX ring 调大

好问题,而且你这个问题非常专业 👍
先给你一句结论,然后再展开说「为什么」。


一、结论先行(非常重要)

RX ring 不能用 sysctl
只能用 ethtool -G(驱动层参数)

sysctl 管的是 内核协议栈
RX ring 是 网卡驱动 / NIC 硬件队列

👉 层级完全不同


二、为什么 sysctl 调不了 RX ring?(核心原理)

RX ring 是什么?

  • NIC 上的 DMA descriptor ring

  • 包先到这里,再进内核

  • 满了 → 硬件直接丢包

sysctl 能管什么?

  • net.core.rmem_* → socket buffer

  • net.ipv4.tcp_* → TCP 行为

  • net.core.netdev_* → backlog

📌 这些都发生在 RX ring 之后

 
网线↓ NIC RX ring ← ← ← 你现在丢在这一步↓ softirq / napi↓ netdev backlog↓ socket buffer

👉 ring 满了,sysctl 根本看不到包


三、正确姿势:用 ethtool 调 RX ring ✅

1️⃣ 先看当前 & 最大值

 
ethtool -g ens5f0np0

你会看到类似:

 
Pre-set maximums: RX: 8192 TX: 8192 Current hardware settings: RX: 1024 TX: 1024

2️⃣ 调到最大或接近最大(推荐)

 
ethtool -G ens5f0np0 rx 4096 tx 4096 ethtool -G ens5f1np1 rx 4096 tx 4096

📌 原则:

  • 25G:至少 4096

  • 内存富裕:可以直接拉满


3️⃣ 验证是否生效

 
ethtool -g ens5f0np0

四、那 sysctl 在这里完全没用吗?不是的

sysctl 的作用是 “兜底”

在 RX ring 之后:

推荐配合的 sysctl(25G + bond)

 
sysctl -w net.core.netdev_max_backlog=250000 sysctl -w net.core.rmem_max=268435456 sysctl -w net.core.rmem_default=268435456

📌 作用:

  • NIC → softirq → backlog 时不丢

  • 但前提是 RX ring 不先爆


五、你现在这个场景的“最佳实践组合”🔥

 
1️⃣ ethtool -G ← 必须 2️⃣ xmit_hash_policy=layer3+4 3️⃣ IRQ / RSS 分散 4️⃣ sysctl 兜底

少任何一个,在 25G + bond 下都可能掉包。


六、常见误区澄清(你可能正好踩过)

❌ “我把 rmem 调很大了,为什么还丢?”

👉 因为包死在 RX ring

❌ “netdev_max_backlog 很大了”

👉 ring 满了根本进不来

❌ “调 sysctl 就能解决所有网络问题”

👉 对 1G 可能行,对 25G 不行


七、下一步我建议你做什么(按顺序)

  1. ethtool -g 看最大值

  2. ethtool -G 拉到 ≥4096

  3. 再跑一次 ping -f

  4. rx_steer_missed_packets 是否停止增长

如果你愿意,把:

 
ethtool -g ens5f0np0 ethtool -g ens5f1np1

贴出来,我可以直接告诉你调到多少最合适,不拍脑袋。

 
Ring parameters for ens5f0np0: Pre-set maximums: RX: 8192 RX Mini: n/a RX Jumbo: n/a TX: 8192 Current hardware settings: RX: 1024 RX Mini: n/a RX Jumbo: n/a TX: 1024
 

太好了,这个输出一出来,方案就非常明确了 👍
一句话:你现在 25G 网卡用的是 1G 时代的默认 ring,大概率就是它在拖后腿。


一、直接给结论(不绕弯)

  • 硬件最大8192

  • 你现在用的1024

  • 在 25G + bond + bridge 场景下:❌ 严重偏小

👉 必须调大,至少 4096,推荐直接 8192


二、立刻可执行的正确调整命令 ✅

🔥 强烈推荐(一步到位)

 
ethtool -G ens5f0np0 rx 8192 tx 8192 ethtool -G ens5f1np1 rx 8192 tx 8192

⚠️ 说明:

  • 在线生效

  • 不会断链(极少数驱动可能瞬断 <1s)

  • 占用内存可忽略(几十 MB)


三、调完后一定要做的三件事(验证)

1️⃣ 确认生效

 
ethtool -g ens5f0np0

应看到:

 
Current hardware settings: RX: 8192 TX: 8192

2️⃣ 清零观察丢包指标(可选但推荐)

 
ethtool -S ens5f0np0 | grep rx_steer # 记住当前值

3️⃣ 再跑一次压测

 
ping -f -c 5000 <同网段IP>

然后再看:

 
ethtool -S ens5f0np0 | grep rx_steer

👉 理想结果:不再增长


四、为什么 8192 在你这里是“刚需”?(技术原因)

粗算一下:

  • 25G

  • 小包(ping flood / VXLAN / overlay)

  • PPS 极高

  • bond hash + bridge tap 会造成突发流量

1024 ring ≈ 几百微秒就被吃空

而 8192:

  • 能吸收 burst

  • 给 softirq / RPS 足够时间

  • rx_steer_missed_packets 自然消失


五、强烈建议一起做的 2 个配套优化(不然效果打折)

① 确认你已经是 layer3+4

 
cat /sys/class/net/bond0/bonding/xmit_hash_policy

应是:

 
layer3+4

② 把 netdev backlog 稍微兜底一下

 
sysctl -w net.core.netdev_max_backlog=250000

(这一步不是必须,但有益)


六、一个非常重要的提醒(90% 的人会忽略)

ring 参数重启会丢失

持久化方法(systemd)

 
# /etc/systemd/system/ethtool-ring.service [Unit] Description=Set NIC ring buffer After=network-online.target Wants=network-online.target[Service] Type=oneshot ExecStart=/usr/sbin/ethtool -G ens5f0np0 rx 8192 tx 8192 ExecStart=/usr/sbin/ethtool -G ens5f1np1 rx 8192 tx 8192 RemainAfterExit=yes[Install] WantedBy=multi-user.target
 
systemctl daemon-reload systemctl enable ethtool-ring --now

七、现在可以给你一个“很有把握的判断”

你之前看到的 rx_steer_missed_packets + ping -f 丢包,
在 RX ring 调到 8192 + layer3+4 之后,80%~90% 会直接消失。

如果你愿意,下一步我可以:

  • 🔧 帮你 检查 IRQ / RSS 是否还集中

  • 🔧 看看 TX ring 是否也有瓶颈

  • 🔧 或帮你 做一轮完整的 25G 网络验收 checklist

你现在可以先把 ring 调了,然后把 调前 / 调后 ping 结果贴出来,我可以帮你确认是不是已经“彻底治好了”

http://www.jsqmd.com/news/307195/

相关文章:

  • 进口岩板品牌供应商哪家好,三亚广州值得选的品牌
  • 这才是多数据源的正确打开方式!MyBatis-Plus vs Hibernate 底层原理大揭秘,别再瞎配了
  • 盘点工业打包机直销品牌,蓝景自动化性价比排名前列
  • 省选集训 15 - 交互题
  • 2026年三亚靠谱的汽车租赁门店联系电话,包头到三亚靠谱的汽车租赁公司联系方式技术实力与市场口碑领航者
  • 高清免费正版图片素材网站推荐:2026年十大图库资源平台盘点
  • 上海宠物牙科口碑之选:姚志权医生领衔的专业力量,宠物牙科/猫咪口腔/宠物口腔科/狗狗口腔,宠物牙科医生哪个比较好
  • 本地部署的物联网平台
  • 锅炉厂家加工厂实地考察:看哪些细节能反映真实水平,锅炉厂家/蒸汽锅炉/导热油锅炉,锅炉厂家优质厂家选哪家
  • 探讨靠谱的翻堆机实力厂家排名,安阳慧耕能排第几?
  • 网上订餐|基于ssm+ vue网上订餐系统(源码+数据库+文档)
  • 探讨盐城思科网络公司百度代运营技术排名,哪家比较靠谱
  • 2026 十大商用高清正版素材网站推荐,不会侵权的图片网站推荐
  • 铝合金花箱生产厂售后靠谱的怎么选,有啥建议
  • 飞斯达的商业模式是否可行,PLC产品选购如何选靠谱的
  • 2026年首月,做得好的二氧化碳公司都在这个排行里,汽化器/制氧机/制氮机/液氮/二氧化碳,二氧化碳源头厂家排行榜单
  • 微信小程序定制开发公司选型攻略,教你选专业商家(2026更新)(接诉即办小程序、党政小程序、物业小程序开发公司推荐)
  • Cursor使用教程
  • 2026年AIGC检测通关攻略:降ai率工具深度测评(含免费降ai率方案)
  • 吐血推荐MBA必用10款一键生成论文工具
  • 【ACM出版 | EI检索】第六届生物信息学与智能计算国际学术研讨会(BIC 2026)
  • 微信小程序定制开发公司如何选择?专业选型指南(律所小程序、寺庙小程序、活动小程序开发公司推荐)
  • 2026成都集成墙板生产厂家口碑榜:成都华伟木塑98%好评,真实用户实测推荐
  • 【一文解读】网闸是什么?新型网闸有哪些功能和作用?
  • 外贸B2B企业出海必看:推荐几家海外独立站引流服务商+Google代运营公司
  • RustFS x Cloudflare Tunnel,实现对象存储的安全访问
  • 小程序开发公司哪家专业,专注于小程序运营优化的综合服务
  • 构建一个智能 BMI 计算器:深入解析 Flutter 中的实时计算、状态反馈与健康数据可视化
  • 告别错位与分页噩梦:Excel转PDF完美指南,让表格完整如初
  • 2026年青岛西海岸新区奔驰4S店排名,可分期且保养口碑好的店盘点