如何在Linux中更改网络接口的接收队列长度?

如何在Linux中更改网络接口的接收队列长度?,第1张

概述我有一台运行 Linux(内核2.6.18)的服务器,它正在大幅丢弃传入的网络数据包.我认为它正在遭受这种情况,因为该接口的接收队列长度太小(默认为1000).我想通过修改/ proc / sys / net / core / netdev_max_backlog(到3000)的值来扩大此队列.但它似乎没有用.我搜索了它,发现有人说这个值只适用于非NAPI设备,我认为我的设备不是因为内核2.4. 我有一台运行 Linux(内核2.6.18)的服务器,它正在大幅丢弃传入的网络数据包.我认为它正在遭受这种情况,因为该接口的接收队列的长度太小(默认为1000).我想通过修改/ proc / sys / net / core / netdev_max_backlog(到3000)的值来扩大此队列.但它似乎没有用.我搜索了它,发现有人说这个值只适用于非NAPI设备,我认为我的设备不是因为内核2.4.20引入了NAPI.我不知道这是否属实,并转向安装在该服务器上的内核doc,但该文档自内核2.2以来尚未更新.

所以我想知道这是否属实,如果是,我如何更改NAPI设备的队列长度?

谢谢.

解决方法 我终于发现接口正在丢弃数据包,因为驱动程序配置了太小的Rx描述符大小,在使用中断合并时,决定驱动程序在向内核发送中断之前可以保留多少数据包.如果此值(以ethtool -g< interface>显示)太小,则在引发中断之前将丢弃数据包.用ethtool -G< interface>放大后Rx< a some large value>,此后没有出现粪便.

谢谢大家.

总结

以上是内存溢出为你收集整理的如何在Linux中更改网络接口的接收队列长度?全部内容,希望文章能够帮你解决如何在Linux中更改网络接口的接收队列长度?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/1040157.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存