linux网卡重启后有一个卡变千兆

linux网卡重启后有一个卡变千兆,第1张

在 Linux *** 作系统中,可以使用 ethtool 工具来配置和管理网络接口卡。如果在重启 Linux 网络接口卡后出现卡变成千兆的问题,可能是由于 ethtool 配置错误或不兼容的驱动程序引起的。以下是一些可能的解决方法:

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]\ //设置网口类型


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

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

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存