How to find a network adapter’s speed in Linux?

Posted on In QA

I have a Linux box and it is connected to a network through a network adapter, say gate. How to find what is the current speed (10Mbps, 100Mbps or 1000Mbps) of the adapter?

You can find the network adapter speed by the ethtool command:

ethtool: query or control network driver and hardware settings

For example, to find the speed of the adapter gate, you can run

# ethtool gate

If will print information like:

# ethtool gate
Settings for gate:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Full 
	Link partner advertised pause frame use: No
	Link partner advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000033 (51)
			       drv probe ifdown ifup
	Link detected: yes

Here “Speed: 1000Mb/s” and “Duplex: Full” show the adapter “gate” is running in duplex mode at speed of 1000Mb/s.


You need to benchmark it to find how the actually speed is. The rate here is the hardware/link limit.

Eric Ma

Eric is a systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

Leave a Reply

Your email address will not be published. Required fields are marked *