加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 17:03:39 所属栏目:Linux 来源:网络整理
导读:我有一台运行 Linux(内核2.6.18)的服务器,它正在大幅丢弃传入的网络数据包.我认为它正在遭受这种情况,因为该接口的接收队列的长度太小(默认为1000).我想通过修改/ proc / sys / net / core / netdev_max_backlog(到3000)的值来扩大此队列.但它似乎没有用.我
我有一台运行 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>,此后没有出现粪便.

谢谢大家.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读