Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to determine the speed of my ethernet uplinks using ethtool on my VM (a VMware ESX Server).

Running the command gives the following output:

~> ethtool eth0
Settings for eth0:
    Current message level: 0x00000007 (7)
    Link detected: yes

This obviously doesn't contain the information I'm looking for, that would be displayed on a non-VM machine. Is it possible to use this command to determine uplink speed on VMWare VMs?

Thanks, Paul

share|improve this question
    
The prompt in your example indicates that you're not root - what happens if you use "sudo ethtool eth0" instead? –  RainyRat Dec 3 '09 at 12:26
    
I have edited the prompt for brevity; I was running this command as root. –  Symmetric Dec 4 '09 at 14:50
add comment

3 Answers 3

up vote 1 down vote accepted

That looks like you used the "flexible" adapter type in the VM configuration, which looks like the AMD PCnet32 ethernet controller which uses the pcnet32 driver. If you create your VM with a different adapter type, e.g. e1000, you will get the e1000 driver which will give you more useful ethtool output.

share|improve this answer
    
Exactly what I needed, thanks. I've been told that the e1000 emulated drivers are a bit basic, so in other situations using the VMtools driver might have been a better solution, but in this case your solution is perfect (as I can't install VMtools). Thanks! –  Symmetric Dec 7 '09 at 18:08
    
I'm glad that helped. Even though you get a "Speed: 1000Mb/s" type message from this, be aware that the actual speed will depend greatly on the CPU utilization and general busy-ness of the server. Your traffic is going through several layers of software and emulation to get to your VM. –  Shannon Nelson Dec 8 '09 at 3:44
add comment

I've seen inconsistent correspondence between reported link speed and actual bandwidth in VMware. I'd suggest using something like iperf to get a measured result.

share|improve this answer
    
From inside the VM, iperf is one tool that would be useful. If you have access to the ESX server COS, you might try using esxtop to watch the network throughput. –  Shannon Nelson Dec 20 '09 at 8:09
add comment

The NIC in the VM is connected to a software switch which only then in turn uplinked to physical ports - you'll never get a real speed although you can get the uplink speed via the VM SDK tools.

share|improve this answer
    
Is it possible to insert a value into the VM so that it thinks it knows the speed of the uplink? I'm not so interested in knowing the exact speed, but the application I'm testing needs to receive a value in order to run. –  Symmetric Dec 3 '09 at 17:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.