ethtool是Linux下查看和配置网卡状态的命令行工具,可查询网卡速率、双工模式、链路状态及驱动信息;通过ethtool eth0查看基本状态,-i参数查看驱动详情,-S参数获取错误与丢包等统计信息,辅助排查网络问题;支持检查自动协商状态并手动设置速率和双工模式,是网络运维中关键的诊断工具。

在Linux系统中,ethtool 是一个非常实用的命令行工具,用于查询和配置网络接口(网卡)的参数。通过它,你可以查看网卡的速率、双工模式、链路状态、驱动信息等,对于排查网络问题非常有帮助。
查看网卡基本状态
要查看指定网卡的状态,使用以下命令:
ethtool例如,查看名为 eth0 的网卡状态:
ethtool eth0输出内容通常包括:
- Link detected:显示“yes”表示物理链路已连接,“no”表示未连接
- Speed:当前协商的速率,如 1000Mb/s
- Duplex:双工模式,如 Full 或 Half
- Port:端口类型,常见为 Twisted Pair
- Auto-negotiation:是否开启自动协商
查看网卡驱动信息
使用 -i 参数可以查看网卡使用的驱动信息:
ethtool -i eth0输出包括:
- driver:驱动模块名称
- version:驱动版本
- firmware-version:网卡固件版本
- bus-info:设备总线位置(如 PCI 地址)
查看网卡统计信息(错误、丢包等)
使用 -S 参数查看网卡的详细统计计数器:
ethtool -S eth0这个输出可以帮你判断是否存在:
- 接收/发送丢包(drop)
- 校验错误(errors)
- CRC 错误
- 缓冲区溢出
在排查网络不稳定或丢包问题时非常有用。
检查网卡是否启用自动协商和实际协商结果
自动协商(Auto-negotiation)决定网卡与交换机之间的速率和双工模式。如果关闭可能导致性能下降或连接问题。
在 ethtool eth0 的输出中关注:
- Auto-negotiation: on/off
- Speed 和 Duplex 是否符合预期
如果自动协商关闭,需要手动设置速率和双工模式(需谨慎操作):
ethtool -s eth0 speed 1000 duplex full autoneg off基本上就这些。ethtool 能快速帮你确认网卡的物理层状态和配置,是运维和排错中不可或缺的工具。不复杂但容易忽略。










