0

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

Symmetric
  • 105
  • 1
  • 5

3 Answers3

1

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.

Shannon Nelson
  • 279
  • 2
  • 8
  • 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 07 '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 08 '09 at 03:44
0

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.

xenny
  • 780
  • 4
  • 8
  • 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 08:09
0

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.

Chopper3
  • 100,240
  • 9
  • 106
  • 238
  • 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 03 '09 at 17:19