应使用ethtool命令查看实时协商速率,执行sudo ethtool 网卡名后查找Speed行数值,并确认Link detected和Auto-negotiation状态;mii-tool仅作辅助参考;Speed为Unknown时可用lspci查硬件规格;驱动与型号需匹配官方兼容列表;nload用于验证实际吞吐是否受限于协商速率。

如果您在麒麟操作系统中需要确认当前网络接口的实际协商速率,则可能是由于网卡链路已建立但速率未达预期。以下是解决此问题的步骤:
一、使用ethtool命令查看实时协商速率
ethtool是麒麟OS中查询以太网卡物理层状态的权威工具,可直接读取网卡驱动与PHY芯片交互所得的实时协商结果,包括Speed、Duplex、Auto-negotiation状态等关键参数,该方法不依赖上层协议栈,反映真实链路能力。
1、执行ip -br a或ifconfig -a确认目标网卡名称(如enp0s3、ens11f0、enaphyt4i0等)。
2、以root权限运行ethtool 网卡名,例如:sudo ethtool enaphyt4i0。
3、在输出中查找Speed:行,其后数值即为当前协商速率(如1000Mb/s表示千兆,10000Mb/s表示万兆)。
4、同时检查Link detected: yes和Auto-negotiation: on是否为预期值;若为no或off,需进一步排查物理连接或对端设备配置。
二、使用mii-tool命令查看基础链路信息
mii-tool通过MII寄存器访问PHY状态,适用于部分老旧以太网控制器(如某些Realtek芯片),输出简洁但功能有限,现代网卡可能不支持,且该工具已被标记为过时(obsolete),仅作辅助参考。
1、确保已安装mii-tool,在麒麟SP1系统中通常已预装;如缺失,可执行:sudo apt install net-tools。
2、以root权限运行mii-tool 网卡名,例如:sudo mii-tool ens11f0。
3、观察输出中的协商结果,典型格式为:ens11f0: negotiated 100baseTx-FD, link ok,其中100baseTx-FD表示100Mbps全双工。
4、若显示no link,则表明物理链路未建立,需检查网线、交换机端口及网卡指示灯状态。
三、通过lspci命令识别网卡理论最大速率
当ethtool输出中Speed字段显示Unknown!,或网卡尚未建立链路(Link detected: no)时,无法获取实时速率,此时可通过PCI设备信息判断网卡硬件规格,从而推断其支持的最大速率等级(如千兆、万兆、25G等),此法不反映当前实际协商状态,仅用于型号确认。
1、执行lspci | grep -i ethernet列出所有以太网控制器。
2、复制对应网卡的PCI地址(如0000:02:00.0),再运行:lspci -vv -s 0000:02:00.0 | grep -A 5 "Capabilities"。
3、查找LnkCap:字段下的Speed值(如8.0 GT/s对应PCIe 3.0,常搭配万兆网卡;2.5 GT/s常见于千兆网卡)。
四、结合ethtool -i与lspci确认网卡驱动与型号
当速率异常或无法识别时,需交叉验证网卡驱动兼容性与硬件型号是否匹配,避免因驱动缺陷导致速率协商失败或误报。
1、执行ethtool -i 网卡名,例如:sudo ethtool -i enaphyt4i0,查看driver:字段确认当前加载的驱动名称。
2、执行lspci -vvv | grep -A 10 -B 5 "Ethernet",定位网卡完整型号描述,注意识别关键词如Gigabit Ethernet或10-Gigabit Ethernet。
3、比对驱动版本与硬件型号是否在麒麟OS官方兼容列表中;若驱动为igb、ixgbe、i40e等,分别对应千兆、万兆、25G+网卡,其支持速率需与硬件规格一致。
五、使用nload查看网卡实时流量速率
nload是一款终端图形化实时流量监控工具,可直观显示当前RX/TX方向的瞬时带宽占用(单位bps),虽不等同于链路协商速率,但可用于验证实际吞吐是否受限于协商速率。
1、安装nload:执行sudo apt-get install nload。
2、运行nload -m查看所有网卡实时流量汇总视图。
3、运行nload 网卡名 -m,例如:nload enaphyt4i0 -m,聚焦指定接口。
4、使用左右方向键切换网卡,上下方向键缩放时间轴;注意观察峰值速率是否接近ethtool报告的Speed值(如Speed为1000Mb/s,实测峰值应不超过约940Mbps)。

















