
1. 检查 ethtool 配置:使用命令“ethtool eth0”(其中 eth0 是您的网卡名称)检查网卡的速度设置是否正确。如果速度设置为 1000Mb/s,则网卡应该以千兆模式运行。如果速度设置为其他值,则可能是 ethtool 配置错误导致的问题。
2. 升级网卡驱动程序:如果您的网卡使用的是不兼容的驱动程序,则可能会导致网卡在重启后无法正确识别速度。在这种情况下,您可以尝试升级网卡驱动程序,并重新启动系统以使更改生效。
3. 禁用自适应网卡速度:某些网卡可能会自动调整速度,以适应连接的设备。如果您的网卡在连接时自动调整速度,则可能会导致在重启后无法正确识别速度。在这种情况下,您可以尝试禁用自适应速度功能,并手动将网卡速度设置为正确的值。
4. 重启网络服务:如果上述方法都无法解决问题,则可能需要尝试重启网络服务。您可以使用命令“systemctl restart network”重启网络服务,以便重新加载网卡配置和驱动程序,并确保网卡以正确的速度运行。
总之,如果在 Linux 网络接口卡重启后出现卡变成千兆的问题,您可以尝试检查 ethtool 配置、升级网卡驱动程序、禁用自适应网卡速度或重启网络服务来解决问题。
首先你得netem QDiscipline设置看起来没什么区别,limit太大,loss 0%和默认一样,剩下的delay 10ms都是指所有pakcat按照延迟10ms进行发送至于你的TBF设置,用了TBF自身提供的两个途径
TBF叫做Token Bucket Filter.总体的思路就是数据包要领到Token(令牌)才能被发送,而令牌的产生速率收到rate这个参数的限制。Token是一个抽象的概念,Token的大小都是指的Token所指向的数据包的大小。
当要发送的速率低于令牌产生的速度时,所有的数据包都能领到Token,并且多余的Token会在你的Buffer里积累。积累的上限由Buffer/Burst这个参数指定。
当发送的速率等于Token产生的速度时,Token正好被完全消耗,所有的数据包都会发送,并且buffer不会积累多余的Token
当发送的速率大于Token的速率,如果Buffer里还有多余的Token,就会开始消耗Buffer的Token,同时允许数据包通过。如果buffer的Token耗尽,数据包就不被允许通过,并且进入Txqueue(发送队列)排队。如果排队的尺寸大于limit(你的第一个TBF有指定),则队列不能再增长,新到来的数据包会被drop。
明白上面的概念之后你的两条命令的区别也就容易看懂了。
第一个是用的Buffer/Limit
Buffer就是瞬间可以额外提供的Token的数量。Rate限制了你的持续上传速率为1Mb/s,然后在你长时间网络流量很低时,你得Token会积累,最后你可以有Buffer这么大(1600b)的缓冲无视rate的限制(可以瞬间发送1600b,所以叫做突发)。至于后面的limit 3000,是指你当你的缓冲区(Txqueue)超过3000b时,新来的包会被Drop
第二个用的是Burst/latency/rate组合
这里的burst和上面的buffer含义完全相同,都是能够以高于rate所限定的速度发送的数据量(4Mb,比第一个的大很多)。至于Latency,是对应limit的量。Latency规定的是数据包能在Txqueue中呆的最长的时间(你的是1S),在Txqueue中呆超过1s的包都会被Drop。所以结合你的rate来计算,latency 1s+rate 1Mbit/s 等价于 limit为1Mbit*1s=1Mb
*tc只能规整egress traffic,就是从NIC流出的流量(上传),对于下载,要用IFB将ingress(下载)模拟成egress
使用ethtool命令。ethtool是Linux下用于查询及设置网卡参数的命令。
举例:
[root@hvrhub ~]# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s ------------------------------------>网卡速度
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: yes
详细参数参考:(//后面是注释,是原文的译文)
ethtool ethX /
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000]\ //设置网口速率10/100/1000M
[duplex half|full]\ //设置网口半/全双工
[autoneg on|off]\ //设置网口是否自协商
[port tp|aui|bnc|mii]\ //设置网口类型
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)