
概述我有一台运行 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中更改网络接口的接收队列长度?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)