标签: ethtool

如何验证网卡的速度?

我刚刚在 Linux 中安装了一个新的千兆网络接口卡 (NIC)。我如何判断它是否真的设置为千兆速度?我看到ethtool有一个设置速度的选项,但我似乎无法弄清楚如何报告其当前速度。

linux gigabit-ethernet ethtool

153
推荐指数
6
解决办法
47万
查看次数

如何通过重启保留 ethtool 设置

我想在 CentOS5 服务器上关闭 tcp 分段卸载。使用 ethtool 命令是ethtool -K eth0 tso off但是,此设置仅在此会话中持续存在。我怎样才能让它通过重新启动持续存在?

centos ethtool linux-networking

21
推荐指数
4
解决办法
5万
查看次数

数据包队列性能与 BIND 名称服务器的差异

背景:

我继承了一个大容量缓存名称服务器环境(Redhat Enterprise Linux 5.8,IBM System x3550),它具有不一致的环形缓冲区设置:eth0 为 1020,eth1 为 255。eth0 连接到其本地数据中心的交换机 1,eth1 连接到相同的交换机 2。集群中的每个服务器都在 eth0 或 eth1 是活动接口之间交替,并且每个集群都位于不同的区域。环形缓冲区显然需要保持一致。

这就是事情变得棘手的地方:我在研究为什么许多名称服务器经常记录“错误发送响应:未设置”错误时发现了上述问题,ISC 知识库建议这与出站拥塞有关。具有较高环形缓冲区设置 (1020) 的服务器在 ifconfig 上丢弃的数据包较少(正如人们所期望的那样),但往往会以很高的频率记录上述错误,在我的最高负载组之一中每天约 20k 次。我们将其称为“第 1 组”。具有较低环形缓冲区 (255) 设置的服务器每天丢弃的入站数据包明显更多(同样是预期的),但 BIND 错误的实例要少得多,在同一负载组中通常为 0-150。

这里也不是什么大秘密。缓存 DNS 是一种递归服务:如果某些内容未缓存,则服务器必须代表该问题进行多次查询,直到它最终可以返回答案。这是一个(一进)->(多出)查询关系。修复 RX 环形缓冲区应该使这个数字全面均衡为一个新值,然后在 proc (wmem_max/wmem_default) 中调整内核的出站网络队列可能是一个好主意。


我喜欢能够衡量配置更改对性能问题的影响,所以我写了一份报告来收集一些数据,然后再开始进行生产更改。以下是组 1 中前两台服务器的输出示例:

group1-01
    RX: 7166.27/sec av.
    TX: 7432.57/sec av.
    RXDROP: 7.43/sec av.
    unset_err: 27633
group1-02
    RX: 7137.37/sec av.
    TX: 7398.50/sec av.
    RXDROP: 9.94/sec av.
    unset_err: 107
Run Code Online (Sandbox Code Playgroud)

这些是公式。请注意,这是一个本地脚本,不依赖于每个服务器必须维护的 shell 脚本。

    RXPACK=$(ssh $server "sar -n DEV -f …
Run Code Online (Sandbox Code Playgroud)

networking domain-name-system linux bind ethtool

11
推荐指数
1
解决办法
1655
查看次数

我应该信任哪个工具,mii-tool 和 ethtool 没有显示相同的值

我们的托管公司为我们的服务器提供所有交换基础设施。连接到的专用网络eth2 应该是 GbE。最近我一直怀疑某些东西配置错误,因为仙人掌图似乎从来没有显示链接上超过 100 兆位的流量。

进一步挖掘我发现,mii-tool并且ethtool不同意链接速度。

# mii-tool eth2
eth2: negotiated 100baseTx-FD flow-control, link ok
# ethtool eth2 
Settings for eth2:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full 
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
Run Code Online (Sandbox Code Playgroud)

我应该信任哪个工具?

linux ethernet gigabit-ethernet ethtool

10
推荐指数
2
解决办法
2万
查看次数

ethtool 说 eth0 使用 MII 但使用双绞线

ethtool 说“支持的端口:[TP MII]”和“端口:MII”。我猜 TP 意味着双绞线和媒体独立接口。然而,我看到网卡使用双绞线,而不是这个 MII 连接器。那么如何解释呢?

networking ethtool

10
推荐指数
1
解决办法
8297
查看次数

nic:邪恶的事情发生了!噗

我正在使用 Debian Stretch (9.7) 配置 GNU/Linux 路由器,在重新启动服务器之前,从一个接口到另一个接口的所有流量都正常,但在那之后,我收到了这样的消息 (tty):

enp1s6: Something Wicked happened! ffff.
Run Code Online (Sandbox Code Playgroud)

我在同一交换机和同一网络上有一台主机,用于测试目的,基本上,路由器的 LAN 不响应回显请求。

这里有一些关于服务器的信息。

内核日志

Jan 25 08:58:02 server001 kernel: [25060.494127] enp1s6: Link changed: 
Jan 25 08:58:02 server001 kernel: [25060.494127] 100Mbps, half duplex
Jan 25 08:58:02 server001 kernel: [25060.494254] enp1s6: Something Wicked happened! ffff.
Jan 25 08:58:02 server001 kernel: [25060.497338] enp1s6: Link up
Jan 25 08:58:02 server001 kernel: [25060.497557] enp1s6: Link changed: 
Jan 25 08:58:02 server001 kernel: [25060.497557] 100Mbps, full duplex
Jan 25 08:58:02 server001 kernel: [25060.499986] …
Run Code Online (Sandbox Code Playgroud)

debian icmp ethtool linux-networking linux-kernel

9
推荐指数
1
解决办法
710
查看次数

无法在 Linux 上设置 NIC 以建立千兆链接

我有 Ubuntu 11.10 64 位和一个(实际上是两个,但只有一个连接)英特尔 82578 千兆网卡,它以 100 Mbps 的速度运行,我希望它以 1000 Mbps 的速度运行,但我不能。我怎样才能找出问题所在?

这是我尝试使用 ethtool 设置速度时发生的情况:

# ethtool -s eth0 speed 1000
Cannot advertise speed 1000
Run Code Online (Sandbox Code Playgroud)

我也试过这个并失去了网络连接:

# ethtool -s eth0 speed 1000 duplex full
Run Code Online (Sandbox Code Playgroud)

我已经没有关于去哪里寻找的想法了。

一些信息:

服务器连接到 Cisco RVS4000 路由器,该路由器的所有活动端口都配置为在 1000 Mbps 全双工下工作,具有自动协商功能。事实上,还有另一台服务器连接到路由器的另一个端口,它以 1000 Mbps 的速度运行良好。

关于我遇到问题的服务器的信息:

lshw:

# lshw -C network
  *-network               
       description: Ethernet interface
       product: 82578DM Gigabit Network Connection
       vendor: Intel Corporation
       physical id: 19
       bus info: pci@0000:00:19.0
       logical name: eth0
       version: 05
       serial: 00:1e:67:15:2b:f1
       size: 100Mbit/s …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu gigabit-ethernet ethtool

8
推荐指数
1
解决办法
4万
查看次数

ethtool -g 输出中的 ring 参数表示什么?

例如,如果我ethtool -g eth0在我的系统上运行,我会得到以下输出:

Ring parameters for eth0:
Pre-set maximums:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Current hardware settings:
RX:             4096
RX Mini:        0
RX Jumbo:       0
TX:             4096
Run Code Online (Sandbox Code Playgroud)

4096 是为一帧分配的缓冲区大小(以字节为单位),有多个这样的缓冲区还是缓冲区的数量?

ethtool

8
推荐指数
1
解决办法
1万
查看次数

为什么 ethtool 没有向我显示 NIC 的所有属性?

CentOS 5.8 | VMWare ESX 5.1

当我运行时,ethtool eth0我看到以下内容:

[root@foo ~]# ethtool eth0
Settings for eth0:
         Current message level: 0x00000007 (7)
         Link detected: yes
Run Code Online (Sandbox Code Playgroud)

有没有办法获得其余的细节?特别是速度和双工?我习惯于 ethtool 输出更冗长。例如:

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link …
Run Code Online (Sandbox Code Playgroud)

linux nic centos ethtool

7
推荐指数
1
解决办法
2万
查看次数

为什么 NIC 环参数未按其硬件最大能力预设?

检查网卡环形缓冲区:

# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:        4096
RX Mini:      0
RX Jumbo:     0
TX:        4096
Current hardware settings:
RX:         256
RX Mini:      0
RX Jumbo:     0
TX:         256
Run Code Online (Sandbox Code Playgroud)

人们可以将“RX/TX”设置为“预设最大值”中显示的限制,例如:

# ethtool -G eth0 rx 4096 rx 4096
Run Code Online (Sandbox Code Playgroud)

问题是:默认情况下;为什么这些设置如此低(在我拥有的每台服务器中,它们都为 256)而不是更高的值或其硬件最大功能?增加这些值是否有任何缺点(如果有的话?)?

networking nic ethtool

7
推荐指数
1
解决办法
3353
查看次数