我有一台运行
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>,此后没有出现粪便.
谢谢大家.
原文地址:https://www.jb51.cc/linux/399238.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。