如何在Linux上以编程方式获得网络接口速度?
我想知道网络连接信息中显示的速度,例如100Mb/s、10Mb/s,而不是可用带宽。提前谢谢 在上找到 通过编程读取此信息并对其进行解析,查找100baseTx或类似信息如何在Linux上以编程方式获得网络接口速度?,linux,networking,performance,Linux,Networking,Performance,我想知道网络连接信息中显示的速度,例如100Mb/s、10Mb/s,而不是可用带宽。提前谢谢 在上找到 通过编程读取此信息并对其进行解析,查找100baseTx或类似信息 # mii-tool -v eth0 eth0: negotiated 100baseTx-FD flow-control, link ok product info: vendor 00:00:20, model 32 rev 1 basic mode: autonegotiation enabled bas
# mii-tool -v eth0
eth0: negotiated 100baseTx-FD flow-control, link ok
product info: vendor 00:00:20, model 32 rev 1
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
此外,在同一篇文章中,您可以使用此选项并查找“速度:”行
如果您想在C代码中这样做,可以通过查询适当的ioctl函数和mii工具来查找信息。C提供了一个例子。
#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: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: p
Current message level: 0x00000007 (7)
Link detected: yes