Linux怎么查看网络接口速率_Linux ethtool查看网卡速度方法【技巧】

梦枫酱_9257

梦枫酱_9257

2026-03-29

911人浏览

原创

应使用ethtool命令查看实时协商速率,因其直接读取网卡驱动与phy芯片交互结果,输出speed值即为当前实际链路速率,如1000mb/s表示千兆,且需结合link detected和auto-negotiation状态综合判断。

linux怎么查看网络接口速率_linux ethtool查看网卡速度方法【技巧】

如果您需要确认当前Linux系统中某块网卡的实际协商速率,但无法从ifconfig或ip link输出中直接获知物理层速率,则应使用专门面向硬件链路层的诊断工具。以下是查看网络接口速率的多种可行方法:

一、使用ethtool命令查看实时协商速率

ethtool是Linux下最权威的以太网卡物理层诊断工具,可直接读取网卡驱动与PHY芯片交互所得的实时协商结果,包括Speed、Duplex、Auto-negotiation状态等关键参数。该方法不依赖上层协议栈,反映真实链路能力。

1、执行ip -br a或ifconfig -a确认目标网卡名称(如eth0、enp0s3、em1等)。

2、以root权限运行ethtool 网卡名,例如:sudo ethtool eth0。

3、在输出中查找Speed:行,其后数值即为当前协商速率(如1000Mb/s表示千兆,10000Mb/s表示万兆)。

4、同时检查Link detected: yes和Auto-negotiation: on是否为预期值,若为no或off需进一步排查物理连接或对端配置。

二、使用mii-tool命令查看基础链路信息

mii-tool通过MII(Media Independent Interface)寄存器访问PHY状态,适用于较老的以太网控制器(如某些Realtek或VIA芯片),输出简洁,但功能有限且部分现代网卡已不支持。

1、确保已安装mii-tool,如未安装,在Debian/Ubuntu系统中执行:sudo apt install net-tools(通常已包含)。

2、以root权限运行mii-tool 网卡名,例如:sudo mii-tool eth0。

3、观察输出中的协商结果,典型格式为:eth0: negotiated 100baseTx-FD, link ok,其中100baseTx-FD表示100Mbps全双工。

4、若显示no link,则表明物理链路未建立,需检查网线、交换机端口及网卡指示灯。

三、通过lspci命令识别网卡理论最大速率

当ethtool无法获取Speed(如显示Unknown!)或网卡尚未建立链路时,可通过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 GT/s对应PCIe 3.0,常搭配万兆网卡;2.5 GT/s常见于千兆网卡)。

4、也可直接搜索型号关键词,例如输出含BCM5709则为千兆网卡,含X710或E810则为万兆及以上。

四、借助ethtool -S统计收发速率(近似实时带宽)

ethtool -S提供驱动级收发计数器,虽不直接显示链路协商速率,但可通过单位时间内的字节数变化估算当前活跃流量带宽,适用于验证网卡是否达到标称速率上限。

1、先记录初始值:sudo ethtool -S 网卡名 | grep rx_bytes与grep tx_bytes。

2、等待1秒后再次执行相同命令,获取新值。

3、计算差值并换算:若rx_bytes增加约125000000字节/秒,则对应1000Mbps(因1 Gbps = 125 MB/s)。

4、注意该方法受CPU调度、中断延迟影响,仅作辅助参考;真实吞吐需配合iperf3等工具测试端到端性能。

五、检查sysfs接口获取只读速率信息

Linux内核通过sysfs向用户空间暴露部分网卡属性,/sys/class/net/路径下可直接读取speed文件,该值由驱动自动更新,无需额外权限(但部分虚拟或老旧驱动可能不提供)。

1、确认网卡处于UP状态:ip link show 网卡名 | grep "state UP"。

2、读取速率文件:cat /sys/class/net/网卡名/speed。

3、正常输出为数字,单位为Mbps,例如1000或10000;若返回-1,表示驱动未实现该接口或链路未就绪。

4、该值与ethtool输出的Speed一致,但不可写,仅作快速只读查询用途。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3088

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4569

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3729

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

426

15

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

5207

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2308

6

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

2024.01.03

3556

7

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

2025.12.06

286

9

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

2025.09.10

3530

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习